Запланировать задачу по удалению содержимого из папок

Я хочу запустить задание, которое каждую ночь удаляет содержимое папки. Папка содержит 5/6 подпапок. Можно ли удалить из каждой из этих подпапок, но не удалять сами папки? Или мне нужно запускать задачу для каждой папки?


person Axle    schedule 26.04.2012    source источник


Ответы (2)


Создайте файл delete.bat, поместите его в каждую папку, из которой вы хотите удалить:

del "C:\your_folder_name\*.*"

Затем запланируйте задачу для запуска delete.bat. Или зациклить папки в определенной папке и удалить все эти файлы, вы можете использовать:

C:\> CD \your_folder_name
C:\> FOR /D /r %G in ("*") DO del "%G" /s /Q

/s удаляет из всех подпапок
/q делает это тихо (не запрашивает каждый файл)
%G это подпапка var

Дополнительная литература:

person squarephoenix    schedule 26.04.2012

Команда DEL имеет параметр /S (подпапки), который удаляет подпапки, но сохраняет структуру каталогов. Вы можете комбинировать эту функцию с AT-командой, чтобы запланировать запуск команды каждый день. Предполагая, что папка для удаления файлов — C:\tmp, и вы хотите запускать очистку каждый день в 23:59, вы можете ввести следующую команду.

AT 23:59 /EVERY:m,t,w,th,f,s,su "del C:\tmp\* /S /Q >> C:\cleanup.log"

Он также запишет имена удаленных файлов в C:\cleanup.log, так как нет другого способа выяснить результаты команды.

Полный справочник см. на страницах DEL и AT.

person Gerardo Lima    schedule 26.04.2012