Пакет Windows: создать метку времени из строки - PullRequest
1 голос
/ 01 марта 2012

Я хочу удалить любые файлы, которые старше определенной произвольной даты (какую дату я хочу указать вручную в своем коде).

Как я могу получить временные метки соответствующих файлов и сравнить их с моей произвольной датой? Я знаю, что могу получить временные метки с чем-то вроде:

for %%f in (./*) do echo %%~tf

... и я могу сравнивать строки или числа с gtr и lss, но я не могу очень хорошо сравнить временные метки как строки (потому что они будут сравниваться по алфавиту, а не по хронологии).

1 Ответ

1 голос
/ 01 марта 2012

Используйте FORFILES с параметром / D.(введите FORFILES /? в командной строке для получения справки).

Например, следующее удалит все файлы из текущего каталога, которые не были изменены с 1 марта 2011 года:

forfiles /d -3/1/2011 /c "cmd /c if @isdir==FALSE del @file"

Можно работать с датами, возвращенными %%~tf, но это королевская боль;особенно если вы хотите, чтобы ваше решение работало на нескольких компьютерах, возможно, с разными настройками формата даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...