Так, это первая моя статья вообще в инете, так что сильно не пинайте).
По роду своих обязанностей мне приходится поддерживать в рабочем состоянии довольно приличный парк ПК, так же как наверно и большинству из вас. Со временем меня стало раздражать то, что то одном ПК скопилось куча не нужных файлов, то ПК тормозит из-за того что системный раздел сильно дефрагментирован, то ещё хуже вдруг винда перестала запускаться, хотя возможно это можно было бы избежать, проведя например проверку системного диска на ошибки. Я нашел решение, возможно оно будет кому-то полезным. Итак, все знают что ОС Windows особенно нуждаются в периодическом уходе за ними, но возможно не все замарачиваются на то, что можно это автоматизировать. А автоматизировать можно много что)), я пока приведу только пару примеров дальше, а так простор для "творчества" большой.
В Windows XP есть встроенный планировщик заданий, но применять его на большом парке машин возможно и можно, но требует либо "ручной" настройки на каждом ПК, либо довольно знаний команд командной строки, и ещё требуется наличие пароля у пользователя, от лица которого будут выполнятся данные задания. На этом закончу вводную часть, и расскажу как у меня организовано например дефрагментация файлов и проверка на ошибки системного диска.
Первым делом качаем и устанавливаем замечательную програмку-консольный планировщик CronLite - с официального сайта по ссылке - http://www.nncron.ru/download.shtml
На время написания этого поста это nncronlt117.exe.
Теперь о том почему именно CronLite замечательно это программа не имеет никаких ограничений по лицензии, весит неимоверно мало, имеет ключ "тихой" установки, пожалуй самое важное свои настройки хранит в текстовом файле, а значит настроив такой файл на одном ПК мы можем потом на хоть все свои компьютеры выставить те же настройки, просто скопировав на нужные ПК.
Это файл cron.tab, по умолчанию этот файл находится тут - "C:\Program Files\cron\cron.tab". Редактировать можно текстовым редактором, как я понял, желательно всё таки не стандартным блокнотом, а например AkelPad и т.п., я же использую для этого встроенный в Far текстовый редактор.
Примерное содержание такого файла-
#CRONTAB FILE
# Classic crontab format:
# Minutes Hours Days Months WeekDays Command
# дефрагментация диска С запускается каждый рабочий день в 12.10
10 12 * * 1-5 C:\sript_vbs\deffrag.vbs
# проверка диска С запускается первый вторник каждого месяца, в 9.00 утра
0 9 1-7 * 2 C:\sheduler-bat\chkdsk_c.bat
# очистка диска С запускается первый вторник каждого месяца в 9.10
10 9 1-7 * 2 C:\sheduler-bat\Ccleaner-clear.cmd
Как видно-ничего особо-то мудренного - ни каких операторов языка программирования, просто путь к исполняемому файлу и символы обозначающие время и периодичность их выполнения.
Теперь немного поясню по самим исполняемым файлам, в моем случае это bat и vbs-скрипты, которые скидываю (в данном примере)
bat файлы в C:\sheduler-bat, vbs-скрипты в C:\sript_vbs.
файлы в C:\sheduler-bat- запускает дефрагментацию диска С
deffrag.bat, его содержание-
@echo off
defrag c: -v
:exit
При запуске этого батника появляется черное окно с отображением хода выполнения, что не есть гут, поэтому это окно скрываем с помощью vbs-скрипта, который я сохранил в C:\sript_vbs\deffrag.vbs
его содержимое-
Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "C:\sheduler-bat\deffrag.bat", 0
Set oShell = Nothing
соответственно в crontab указываем, что будем запускать именно скрипт, который будет запускать бат-файл в фоне.
Ну и содержимое остальных бат файлов, их конечно тоже можно запускать через vbs скрипт как в примере-
chkdsk_c.bat-
@echo off
c:\windows\system32\cmd.exe /c echo y|chkdsk c: /f/x
:exit
Ccleaner-clear.cmd - запускает утилиту Ccleaner в режиме автоочистка.
@echo off
"C:\Program Files\CCleaner\CCleaner.exe" /AUTO
:exit
Так как букв и так много, на этом и закончим, только не большое замечание CronLite по умолчанию выполняет запуск команд от имени SYSTEM, поэтому команды и программы требующих особых каких-то прав, могут и не выполнятся.