dir
сам по себе не может фильтровать по дате, но вы можете проанализировать вывод dir
с помощью команды for
. Если в вашей стране dir
печатает дату в формате YMD, вам нужно только сравнить ее с заданной датой. Если порядок частей даты отличается, то вам нужно использовать другую команду for
, чтобы проанализировать дату и изменить ее на YMD. Появится список файлов, измененных после 5 февраля.
@Echo Off
for /f "usebackq tokens=1,4 skip=5" %%A in (`dir /-c`) do (
if %%A GTR 2012-02-05 echo %%A %%B
)
if
выполняет стандартное сравнение строк, поэтому в конце вы можете получить дополнительную строку, если итоговая строка пройдет сравнение. Чтобы избежать этого, вы можете использовать if %%A GTR 2012-02-05 if exist %%B echo %%A %%B
EDIT:
Существует еще лучший подход, который позволяет избежать анализа вывода dir
, а также позволяет выполнять поиск по времени, а не только по дате:
@Echo Off
for /r %%A in (*) do (
if "%%~tA" GTR "2012-02-05 00:00" echo %%~tA %%A
)