К сожалению, вы не можете сделать это надежным и общим способом (*).
Powershell, Cygwin, Unix Tools - отличные решения, если вы можете быть уверены, что они будут установлены на целевой машине.
Я написал небольшую служебную программу, которая берет путь с подстановочными знаками и количеством дней и удаляет все файлы, соответствующие пути, которые старше указанного количества дней. В моей среде это было удобнее, чем установка стороннего пакета.
(*)
Следующее будет работать для вашего конкретного случая (дата изменения не сегодня), если формат краткой даты в ваших региональных настройках включает в себя столетие (т.е. длина 10 символов). Но это не обобщается в течение N дней, и мне не нравится полагаться на региональные настройки компьютера для такого рода вещей:
for %%i in (log.txt) do SET FILETIME=%%~ti
IF NOT "%FILETIME:~0,10%" == "%DATE%" DEL /f log.txt