Доброго времени суток.
Есть Скрипт архивации:
@Echo Off
echo %date% %time% ***Start***
SetLocal EnableDelayedExpansion
Set $SRC=list_add.txt
Set $EXC=list_excl.txt
Set $DIR=C:\backtest
Set $PSW=1
Set $COMPR=5
Set $COPIES=7
C:\"Program Files"\7-Zip\7z.exe a -t7z "%$DIR%\file%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%.7z" @%$SRC% -scsWIN -p%$PSW% -mx=%$COMPR% -ssw -xr@%$EXC% >> log_7z.log
For /F "Delims=" %%i In ('DIR /B/O:-N %$DIR%\file????-??-??_??-??-??.7z') Do (
Set /A $COPIES-=1
If !$COPIES! LSS 0 DEL "%$DIR%\%%i"
)
echo %date% %time% ***End***
Если системная дата перескакивает вперед - он затирает старые файлы, всё работает. Но если дату отмотать назад - скрипт перестаёт удалять файлы. А нужно чтобы писал всё равно, несмотря на дату.