В прошлой статье рассказал про то, как я автоматизирую некоторые рутинные операции на ПК, а в этой дополню как сделать чтобы Windows сама удаляла логи винпоста и других программ, перемещала старые файлы дневников ф.130.
Задача сводится к тому, чтобы компьютер сам, по заданному расписанию запускал бат-файл/vbs-скрипт, которые рассортировывал нужные нам файлы по дате создания, а потом удалял/перемещал в другую папку. Есть много способов, но ИМХО самый простой использование консольной утилиты forfiles.exe, любой поисковик найдет вам кучу ссылок, где скачать. И так, создаем батник такого содержания-
- КОД:
- @echo off
cd C:\sheduler-bat
forfiles.exe /p "C:\logs"\ /s /m *.log* /d -90 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\Program Files\WinPost\sbplat_log"\ /s /m *.log* /d -90 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\Program Files\WinPost"\ /s /m *MPK*.log* /d -90 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\Program Files\WinPost"\ /s /m *ufs*.log* /d -90 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\Program Files\WinPost"\RPO_OUT /s /m *.* /d -7 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\files_zakaz"\ /s /m *.* /d -180 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\Program Files\WinPost"\ /s /m *RPO*.txt* /d -90 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\Program Files\WinPost"\ /s /m *protokol*.log* /d -90 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\Program Files\WinPost\Log"\ /s /m *.* /d -90 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\Program Files\cron\log" /s /m *.* /d -7 /c "cmd /c del /q /f @file"
forfiles.exe /p "C:\fans" /s /m *.* /d -45 /c "cmd /c move @file c:\archfans"
Чтоб скрыть окно исполнения создаем текстовый файл с расширением vbs такого содержания-
- КОД:
- Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "C:\sheduler-bat\workcleaner.bat", 0
Set oShell = Nothing
Этот скрипт сохраняем в папку уже со скриптами C:\sript_vbs. Добавляем ссылку и время исполнения скрипта в crontab например так-
- КОД:
- # очистка логов работы winpost запускается первый вторник каждого месяца в 9.20
20 9 1-7 * 2 C:\sript_vbs\ochistka.vbs
Строчка в батнике-
forfiles.exe /p "C:\fans" /s /m *.* /d -45 /c "cmd /c move @file c:\archfans"
не удаляет все файлы старше 45 дней из папки fans, а перемещает в папку c:\archfans (если такой папки нет, её надо создать, иначе ничего не получится ). Это так перемещаются файлы дневников ф.130, благодаря чему ф.130 хоть немного быстрее запускается и работает.
Строчка в батнике-
forfiles.exe /p "C:\logs"\ /s /m *.log* /d -90 /c "cmd /c del /q /f @file"
просто удаляет файлы *.log старше 90.
Всё). Если есть дополнить, что-то тут исправить-жду комментов.)