Если дата изменения пакетного файла старше 90 дней, удалите файлы.

По сути, я пытаюсь создать пакетный файл и поместить его в свой запуск, который будет использовать измененную дату того же пакетного файла и посмотреть, больше или меньше 90 дней. Если это не так, ничего не происходит и жизнь продолжается, но если это так, я хочу, чтобы он удалил содержимое моей папки загрузок. У меня есть немного кода, но я тестировал его, но по какой-то причине он не хочет работать на меня. Любая помощь будет принята с благодарностью.

forfiles -p "C:\LOCATION OF .BAT\" -s -m rmdownload.bat /D -90 /C "cmd /c del C:\user folder\Downloads"

Я только начинаю использовать пакетные команды, и мне бы очень понравилась помощь.


person user3068874    schedule 05.12.2013    source источник


Ответы (2)


Это работает для вас, если вы используете Win2003 или WinXP и на вашем компьютере установлен файл forfiles.exe...

forfiles -p "C:\path_of_your_bat" -s -m rmdownload.bat -d -90 -c "cmd /c del C:\user folder\Downloads"

В более поздних версиях Windows и Windows Server он установлен по умолчанию.

Для Win7 и выше: синтаксис немного изменился, поэтому обновленная команда выглядит так:

forfiles -p "C:\path_of_your_bat" -s -m rmdownload.bat /D -90 /C "cmd /c del C:\user folder\Downloads"
person Sunny    schedule 05.12.2013

Предполагая, что ваш целевой путь содержит пробелы и т. д., используйте это в своей команде forfiles. 0x22 представляет собой символ двойной кавычки.

Если он повторяет команду, попробуйте без echo, чтобы фактически выполнить удаление

"cmd /c echo del 0x22C:\user folder\Downloads\*.*?0x22"
person foxidrive    schedule 05.12.2013