Не так давно передомной встала задача - очищать папку почтового сервера со спамом от писем, старше 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 маска файла
-с выполняемое над файлами действие, у меня - записать имя файла в лог и удалить файл.
Вот собсна и все.
Для работы с файлами по различным параметрам (дата создания, размер, тип и т.д.) в семействе ОС 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 комментария:
Спасибо за практическое решение!
Владимир
для сетевых папок не робит
Отправить комментарий