Тема: CMD/BAT: Обработка архивов по дате создания
Здравствуйте!
В папке лежат файлы архивов вида Inf#1_496766#2012_11_20#23_09_10.zip их нужно обработать, но для это скопировать по текущей дате только архивы этого дня в отдельную папку.
Я написала по аналогичным примерам, но в цикле, когда прохожу файлы в каталоге не получается вставить сравнение дат:
@echo on
@cd %1
@cd ?a»?«??
@rem j -- ¬??N???
@echo %date%
@set day=%date:~0,2%
@if %day:~0,1%==0 set day=%day:~1,1%
@set mes=%date:~3,2%
@if %mes:~0,1%==0 set mes=%mes:~1,1%
@set god=%date:~6,4%
:STEP1
@set /a JDN=%day%+((153*(%mes%+(12*((14-%mes%)/12))-3)+2)/5)+(365*(%god%+4800-((14-%mes%)/12)))+((%god%+4800-((14-%mes%)/12))/4)-((%god%+4800-((14-%mes%)/12))/100)+((%god%+4800-((14-%mes%)/12))/400)-32045
set FOLDER=C:\Internet
if exist %temp%\files.lst del %temp%\files.lst
FOR %%A in (%FOLDER%\*.*) do @echo %%~txA "%%A" >>%temp%\files.lst
FOR /F "tokens=1-6,* delims=.: " %%A in (%temp%\files.lst) do (
@set day2= %%A
@set mes2=%%B
@set god2=%%C
@set /a JDN2=%day2%+((153*(%mes2%+(12*((14-%mes2%)/12))-3)+2)/5)+(365*(%god2%+4800-((14-%mes2%)/12)))+((%god2%+4800-((14-%mes2%)/12))/4)-((%god2%+4800-((14-%mes2%)/12))/100)+((%god2%+4800-((14-%mes2%)/12))/400)-32045
@set /a dif=%JDN%-%JDN2%
@If %dif% EQU 0 (GOTO STEP4) ELSE (GOTO STEP5)
:STEP4
copy %%G С:\Arhiv\%%A_%%B_%%C_00.%%F
:STEP5
"C:\Program Files\WinRAR\winrar.exe" x *.zip *.*
)
