Войти

Показать полную графическую версию : [решено] Сравнение даты в цикле


krol2134
24-06-2020, 16:34
Пытаюсь из "моих документов" заархивировать все файлы созданные в этом году,но не могу понять, как нужно сравнивать дату в цикле.
В Данном коде при сравнение вместо даты переменной datenew, отображаются просто две ковычки.Подскажите,что делаю не так?

===================================
@echo on
SETLOCAL ENABLEDELAYEDEXPANSION
set FROM=%USERPROFILE%\Documents

set TO=C:\arhiv\Мои документы\%USERNAME%
md "%TO%\"
set VDATE=%date:~-10%
set vtime=%TIME:~0,-3%
set vtime=%vtime::=.%
md "%TO%\%VDATE%"
rem "C:\Program Files\WinRAR\WinRAR.exe" a -r "%TO%\%VDATE%\%VTIME%.rar" "%FROM%\*.*"
for %%f in (!FROM!\*.*) do (
set DATE = %%~tf
set DATENEW = "%DATE:~-4%"
if "%DATENEW%" GEQ "00.00.2021 00:00" ("C:\Program Files\WinRAR\WinRAR.exe" a -r "!TO!\!VDATE!\!VTIME!.rar" "%%f")
)
pause
===================================

Iska
24-06-2020, 19:09
krol2134, зачем здесь цикл?

P.S. От архива на том же физическом носителе толк околонулевой.

megaloman
24-06-2020, 22:39
@Echo Off
Set "From=D:\CMD_Forum"
Set "To=D:\Backup"

FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "@Tdate=%%d"
Set /A TT=%@Tdate:~0,8%, TA=%@Tdate:~0,4%-1, TB=%@Tdate:~0,4%+1

Set "TA=%TA%1231235900"
Set "TB=%TB%0101000000"

2>nul MD "%To%\%TT%"
"C:\Program Files\WinRAR\WinRAR.exe" U -r -tam%TA% -tbm%TB% -ag+HH.II.SS "%TO%\%TT%\.rar" "%FROM%\*.*"
Exit /B
Читайте у WINRAR -> Справка -> Содержание -> Режим командной строки ->смысл ключей




© OSzone.net 2001-2012