Я решил удалить свои комментарии и опубликовать соответствующие части в качестве ответа:
Если вы хотите ограничить вашу задачу использованием forfiles , вы можете попробовать что-то подобное из вашего пакетный файл , (который записывает file.txt
в тот же каталог, что и ваш пакетный файл) :
@CD /D "C:\tmp"
@FORFILES /D 01/05/2018 /C "cmd /c if @isdir==FALSE FORFILES /D -31/05/2018 /M @file /C 0x22cmd /c if @isdir==FALSE Echo @fdate @ftime @path0x22" 2>nul >>"%~dp0file.txt"
Если вы хотите сделать свою командуболее эффективным, robocopy может быть лучшим вариантом, (следующая запись file.txt
в текущий каталог) :
@For /F "Tokens=*" %%A In ('RoboCopy "C:\tmp" NULL /L /MaxAge:20180501 /MinAge:20180531 /NDL /NJH /NJS /NC /NS /TS')Do @Echo(%%A>>"file.txt"
Цикл For
требуется только для удаления начального пробела из выходных данных, если вы не заботитесь об этом, вы можете просто использовать:
@RoboCopy "C:\tmp" NULL /L /MaxAge:20180501 /MinAge:20180531 /NDL /NJH /NJS /NC /NS /TS>"file.txt"