Вот еще несколько прямолинейный вариант решения.
Код:

Echo off
rem CLS
rem -------------------
rem Предполагаю, что Дата в системе выдаётся в формате дд.мм.гггг чч:мм и т д (разделитель не важен)
rem -------------------
Set NDays=40000
Set GdeNewDir=C:\Сказка про белого бычка\
Set Otkuda=D:\Update\
Set KudaLog=C:\Сказка про белого бычка\LogFile.txt
Set TimeTop1=12
Set TimeBot1=13
Set TimeTop2=14
Set TimeBot2=16
rem Выделяю из текущей даты день, месяц, год
Set Dt=%Date%
Set Day=%Dt:~0,2%
If %Day:~0,1%==0 Set Day=%Day:~1,1%
Set Mon=%Dt:~3,2%
If %Mon:~0,1%==0 Set Mon=%Mon:~1,1%
Set Yea=%Dt:~6,4%
rem Вычитаю из тек даты указ кол-во дней
Call :MinusDays
rem Создаю выходную директорию с пересчитанной датой в названии
Set OutDir=%GdeNewDir%Dir%Yea%%Mon%%Day%
MD "%OutDir%"
rem Копирую файлы изменённые в указанных временных промежутках
Echo ----------------- %Date% %Time% --------------- >>"%KudaLog%"
Set AllCopyFiles=0
for /R "%Otkuda%" %%i in (*.*) do Call :copy2time "%%~fi" "%%~ti"
Echo ----------------- Всего скопировано файлов %AllCopyFiles% -------------->>"%KudaLog%"
GoTo End
rem -------------------------------------------------------------
rem Процедура отнимает от даты заданное число дней
rem Дата содержится в трёх переменных Day Mon Yea
rem -------------------------------------------------------------
:MinusDays
Call :DelYear4
For /L %%D IN (1,1,%NDays%) Do Call :OldDt
If %Day% LSS 10 Set Day=0%Day%
If %Mon% LSS 10 Set Mon=0%Mon%
rem Echo %Yea% %Mon% %Day%
rem Pause
GoTo End
rem -------------------------------------------------------------
rem Процедура отнимает от даты периоды в 4 года в отнимаемых днях
rem -------------------------------------------------------------
:DelYear4
REM 1461 - кол-во дней в 4 годах (с високосным)
If %NDays% LSS 1461 GoTo End
Set /A iYea=%NDays%/1461
Set /A Yea=%Yea%-%iYea%*4
Set /A NDays=%NDays%-%iYea%*1461
GoTo End
rem -------------------------------------------------------------
rem ---------------------------------
rem Процедура отнимает от даты 1 день
rem ---------------------------------
:OldDt
Set /A Day=%Day%-1
If %Day% GTR 0 GoTo End
Set Day=31
Set /A Mon=%Mon%-1
If %Mon% GTR 0 GoTo BotDay
Set Mon=12
Set /A Yea=%Yea%-1
:BotDay
If Not %Mon%==2 GoTo Mon30
Set Day=28
Set iYea=%Yea%
Set /A iYea=%iYea%/4
Set /A iYea=%iYea%*4
If %Yea%==%iYea% Set Day=29
GoTo End
:Mon30
If %Mon%==4 Set Day=30
If %Mon%==6 Set Day=30
If %Mon%==9 Set Day=30
If %Mon%==11 Set Day=30
GoTo End
rem ---------------------------------
rem ---------------------------------
rem Процедура копирует файлы изменённые в 2 заданных промежутках времени
rem ---------------------------------
:copy2time
Set TimeFile=%2
Set TimeFile=%TimeFile:~12,2%
If %TimeFile:~0,1%==0 Set TimeFile=%TimeFile:~1,1%
:Time1
If %TimeFile% LSS %TimeTop1% GoTo End
If %TimeFile% GEQ %TimeBot1% GoTo Time2
GoTo CopyFile
:Time2
If %TimeFile% LSS %TimeTop2% GoTo End
If %TimeFile% GEQ %TimeBot2% GoTo End
GoTo CopyFile
:CopyFile
Copy %1 "%OutDir%\" >Nul
Echo %1 %2 >>"%KudaLog%"
Set /A AllCopyFiles=%AllCopyFiles%+1
GoTo End
rem ---------------------------------
:End
А насчёт VBS - Вам надо шашечки или ехать? Для автоматизации работы в Windows VBS удобнее JS (я начинал с JS, т к он более модный), так как почти 100% скриптов успешно отрабатывают в Excell, что даёт дополнительно очень мощные возможности