среда, 2 июля 2008 г.

Удаление старых файлов в Windows


Не так давно передомной встала задача - очищать папку почтового сервера со спамом от писем, старше 5 дней. Необходимо сразу оговориться - в отличии от предыдущих постов, в данном случае ОС - Windows XP, ну и почтовик - MDaemon 8.1.3.

Для работы с файлами по различным параметрам (дата создания, размер, тип и т.д.) в семействе ОС Windows есть такая прекрасная утилита, как forfiles.exe. Распространяется она свободно - входит в состав Vista, более старую версию для 2003 сервера можно достать в resource kit, ну или скачать вот тут. А тут мануал от microsoft.

Для решения моей задачи понадобилось создать bat файл с такой строкой:

forfiles -p"C:\MDaemon\Public Folders\Spam Trap.IMAP" -d-5 -m*.msg -c"cmd /C echo Deleted: @FILE @FDATE >> C:\spam_del.log & del @FILE"

где -p указывает путь, откуда необходимо начать поиск
-d указывает временные параметры, -5 значит файлы пятидневной давности
-m маска файла
-с выполняемое над файлами действие, у меня - записать имя файла в лог и удалить файл.

Вот собсна и все.

2 комментария:

Анонимный комментирует...

Спасибо за практическое решение!

Владимир

Анонимный комментирует...

для сетевых папок не робит