Bohdan Zadorozhniy вам надо выполнить похожую команду чтоб узнать были ли свежие файлы
FORFILES /p . /s /m *.* /d !"сегодня минус 3 дня"! /c "cmd /c echo @FILE"
IF errorlevel 1 ECHO Skip Purge && GOTO :EOF
...
а для этого вычислить
дату "сегодня минус 3 дня"
- это традиционно делаетеся через какой нибудь получше язык чем cmd
например jscsipt
пример - если помогло - отметьте решением
check.cmd
@echo OFF
REM https://qna.habr.com/q/898855
SETLOCAL ENABLEDELAYEDEXPANSION
SET delta=%1
IF "%delta%"=="" SET delta=-3
FOR /f %%. IN ('cscript.exe /nologo add_days.js !delta!') DO SET CHECK_DATE=%%.
ECHO FORFILES /p . /s /m *.* /d !CHECK_DATE! /c "cmd /c echo @FILE"
FORFILES /p . /s /m *.* /d !CHECK_DATE! /c "cmd /c echo @FILE" 2>NUL 1>NUL
IF errorlevel 1 ECHO Skip Purge && GOTO :EOF
echo Call purge
GOTO :EOF
add_date.js
var days=parseInt(WScript.Arguments.Item(0));
Date.prototype.addDays = function(days) { var date = new Date(this.valueOf()); date.setDate(date.getDate() + days); return date; }
var o = (new Date()).addDays(days);
WScript.Echo((1 + o.getMonth()) + '/' + o.getDate() + '/' + o.getFullYear());