Удалите все * .Zip файлы старше, чем сегодня, используя пакетный файл Windows - PullRequest
0 голосов
/ 26 июня 2018

Предполагая, что вы должны использовать пакетный файл Windows, (не powershell) , и нужно удалить все файлы, заканчивающиеся на .zip, которые находятся в текущем активном каталоге. Как это сделать?

Все попытки пока что проваливаются:

forfiles -p "C:\temp\test" -s -m *.zip -d 1 -c "cmd /c del *.zip"

Для этого написано

ERROR: No files found with the specified search criteria.

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Как указано в моем комментарии, вашу проблему можно легко решить, прочитав информацию об использовании вашей команды, (доступно при вводе FORFILES /? в командной строке) .

Исходя из критериев ваших вопросов, "delete all files ending in .zip, которые находятся в the current active directory":

Вам не нужно использовать опцию /P, потому что, как указано в информации об использовании, "The default folder is the current working directory (.)".

В вашем вопросе нет ничего относительно рекурсивных подкаталогов текущего каталога, поэтому опция /S, которая "Instructs forfiles to recurse into subdirectories" не требуется.

Для опции /D вы ищете файлы, дата последнего изменения которых меньше, чем вчера, , т.е. "the current date minus "dd" days" , /D -1.

Поскольку вы хотите удалить файлы в текущем каталоге, нет необходимости использовать "Full path of the file", @path, поэтому вам нужны "The name of the file", @file.

FORFILES /M *.zip /D -1 /C "CMD /C DEL @file"
0 голосов
/ 26 июня 2018

Вы ничего не упоминали о подкаталогах или версии Windows, поэтому я предполагаю, что несколько. У вас есть синтаксис старой версии. В Windows 7 и более поздних версиях синтаксис немного изменился.

Для Windows 7:

forfiles /P "C:\temp\test" /S /M *.zip /D -1 /C "cmd /c del @path"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...