СТАТЬИ

ДОКУМЕНТЫ

НАШИ КОНТАКТЫ

объявления

реклама

новости


требования sanctum 2

Не проходите мимо - восстановить данные на флешке - подробнее читайте на сайте!

Планировщики

• Task Sheduler

http://www.microsoft.com
Есть же "Виндовый" Планировщик Заданий (Task Sheduler) и его дочернее узкоспециализированное приложение Мастер Обслуживания (Maintenance Wizard)! - скажет продвинутый пользователь. Но пробовали ли вы с ними работать? Если пробовали, то хорошо знаете, что работать с ними невозможно - слишком примитивные это программы. Например, они не способны корректно закрыть отработавшее приложение - запрограммировать можно только снятие задачи в опредёленное время. Разумеется, если дефрагментатор в этот момент всё ещё работает, то он будет убит не выполнив своей работы, а то и попортив таблицу FAT на диске. Нет у них обратной связи с запущенными программами. Для начинающего пользователя, конечно, чем проще программа, чем меньше в ней настроек и возможностей, тем лучше, но такой подход, думаю, применим к американским домохозяйкам, а не к российским "юзверям", самым юзверятым "юзверям" в мире. Кроме того, программа эта выполняет свои обязанности исходя из расположения звезд на небе и собственного настроения - при этом в отчёте о проделанной работе она может записать, что все задания выполнены и ПК выключен, на деле же это окажется, мягко говоря, преувеличением. В общем, утилита эта годится только на крайний случай, когда нет возможности скачать из Сети действительно мощный планировщик с набором функций, соответствующим требованиям сегодняшнего времени всеобщей компьютерной продвинутости.

• Automate

http://www.unisyn.com
А качественные планировщики заданий есть! На сегодня Automate - одна из самых мощных (если не самая) программ-шедулеров, близкая к эталону подобных утилит. Тот, кто попробует с ней хоть раз поработать, больше никогда не вспомнит добрым словом "виндовый" планировщик. Причём, наряду с её огромными возможностями, разработчикам Automate удалось добиться и лёгкости управления сложной программой, её настройки и создания новых заданий. Достигается это наличием удобного мастера Task Wizard, доводящего планирование заданий до визуального уровня - вся, очень близкая к программированию работа может выполняться исключительно мышкой. Плюс ко всему, изначально в программу включён десяток готовых простых примеров-заданий, наглядно демонстрирующих основные принципы работы с Automate. Если же всё равно остались какие-то вопросы, то к вашим услугам очень подробная справка к программе, которая популярно объясняет все термины и опции Automate - её, вообще говоря, желательно в любом случае хотя бы просмотреть, иначе многие уникальные особенности этого планировщика от вас могут попросту ускользнуть.

Возможности программы почти безграничны, но именно это обычно и отталкивает рядовых пользователей от мощных программ: "в планировщике что-то программировать надо…". За кажущейся на первый взгляд сложностью они просто не успевают оценить приятную лёгкость управления, тем более, что с английским языком немалая их часть не в ладах. На самом же деле в программировании "шедулера" ничего трудного нет, и поскольку Automate - программа чрезвычайно удачная, то на её примере попробуем рассмотреть создание самого востребованного у пользователей задания - регулярного автоматического обслуживания системы. Что для этого требуется? Нужно обеспечить поочерёдный запуск нескольких приложений, причём каждое должно полностью отработать, затем быть выгружено, и только после этого можно запускать следующее.

Начнём! В меню "File" выбираем команду "New" > "Task" и в появившемся окне Task Wizard - Мастера Заданий - жмём кнопки "Next" > "Create Steps". Перед нами окно пошагового строителя Step Builder - именно в нём осуществляется практически весь процесс планирования. Пусть первым будет запуск утилиты проверки и резервирования реестра: в разделе "General" колонки со списком доступных действий "Available Actions" двойным щелчком выбираем пункт "Start Application". Появится очередное окно, в котором необходимо задать путь ("Command Line") к исполнимому файлу нашего сканера реестра. В данном случае нас интересует его windows-вариация, так что получится "C:WindowsScanregw.exe". Проверим что получилось, нажав кнопку "Test Selected Step" в правом верхнем углу панели инструментов программы. Запустится Scanregw.exe, проведёт проверку и выдаст окно с вопросом: резервировать ли реестр? Теперь надо научить Automate на этот вопрос отвечать, нажав в новом окне кнопку "Yes". Запишите название этого окна: "Registry Scan Results" (в английской версии Windows) - именно на него будет реагировать Automate. Снова возвращаемся к редактированию задания и в разделе "Flow Control" выбираем следующее действие - "Wait For a Window". То есть после первого шага - запуска программы, вторым будет ожидание появления окна "Registry Scan Results" - пока его на экране нет, кнопки жать бессмысленно. Это название необходимо ввести в окне установки параметров действия "Wait For a Window" в поле "For this window appear", а в пункте "Wait for" установить время ожидания. Поскольку в зависимости от размера реестра и быстродействия компьютера время сканирования реестра может различаться, то выявить его нужно экспериментальным путём - главное, чтобы установленное вами время не было меньше реального, иначе Automate данный шаг не выполнит. После того, как окно "Registry Scan Results" появилось, надо нажать на клавиатуре кнопку "Y" для того, чтобы сканер продолжил работу - это третий шаг. Для этого выбираем раздел "Keystrokes" и в нём - "Send Keystrokes". Остаётся только задать клавишу "Y" в окне установки параметров этого шага. Опять проверка всех созданных шагов: Scanregw отработал, резервную копию реестра создал, Automate, дождавшись нужного окна, кнопку нажал, но появилось ещё одно окно - с единственной кнопкой "OK". В данном случае, поскольку название этого окна такое же, как уже имеющегося на экране окна Windows Registry Checker, то Automate на его появление не среагирует, поэтому проще всего просто задать небольшую паузу перед нажатием кнопки "OK". Четвёртым этапом выполняем - "Flow Control" > "Pause" > 10 секунд. Этого времени достаточно для резервирования реестра. И, наконец, после этой паузы нажатие кнопки "OK" в последнем окне - пятый шаг: "Keystrokes" > "Send Keystrokes" > "Insert" > "Enter". Запускаем проверку и радуемся результату - Automate вместо пользователя полностью самостоятельно вёл диалог с Windows Registry Checker.

Это был пример самого простейшего программирования задания, но на самом деле его можно было бы ещё упростить аж до двух шагов, если знать параметры командной строки запускаемого приложения. Вернёмся к пункту "Start Application": в окне параметров запускаемого приложения имеется и ещё несколько полей для ввода, одно из которых - "Parameters" - как раз и служит для ввода ключей командной строки. К сожалению, в эпоху всеобщей виндовизации командная строка практически позабыта. А между тем, она очень сильно облегчает нашу сегодняшнюю задачу. Так, у программы Scanregw.exe имеется ключ "/backup", который однозначно приказывает ей сделать резервную копию реестра, причём никаких окон при этом даже не появляется - программа отрабатывает в скрытом режиме. Единственный недостаток этого параметра в том, что не проводится проверка реестра. Так что выбирайте - либо вышеописанная процедура, либо всего два шага - запуск "Scanregw.exe /backup" и последующая пауза секунд на 15 для записи архива с файлами реестра на диск.

Аналогично через команды-переключатели следующим заданием нашего проекта мы можем заставить Scandisk без диалога с пользователем проверить все диски, исправить ошибки и самостоятельно выгрузиться из памяти ПК по завершении своей работы. Конечно, поскольку Automate заменяет человека, то она опять-таки сама может отвечать на все запросы Scandisk, так что знание переключателей командной строки не так уж и нужно, но с ними всё получается и проще, и грамотнее, и быстрее. Поэтому в случае со Scandisk вводим в строку "Parameters" следующее: "/a /n /silent" (без кавычек). Параметр "/a" устанавливает проверку всех дисков, "/n" - запуск проверки сразу после загрузки программы без запроса каких-либо параметров, "silent" - отсутствие отчётов о результатах проверки и автоматическая выгрузка программы по окончании проверки дисков без обращения к пользователю. Учтите только, что в настройках Scandisk должен быть установлен флажок "Automatically fix errors", иначе при обнаружении ошибок на диске программа будет выдавать запросы, обработку которых в Automate запрограммировать непросто из-за многочисленности их разновидностей. Для дефрагментатора C:WINDOWSDEFRAG.EXE командная строка будет вида "/ALL /F /NOPROMPT", где "/ALL" - обработка всех дисков, "/F" - дефрагментация файлов и свободного пространства, "/NOPROMPT" - отсутствие запросов к пользователю. Кстати, дефрагментатор и ScanDisk в Windows 98 лучше всего использовать не "родные", а из "Миллениума" - там эти программы заметно усовершенствованы и работают гораздо быстрее.

К сожалению, не все программы имеют переключатели командной строки, упрощающие настройку их работы, но это не так уж и важно - Automate, как мы видели, позволяет включать в задание любую программу, надо просто чуть-чуть повозиться с отладкой шагов. Но в любом случае неплохо сначала из документации узнать параметры командной строки приложения, автозапуск которого вы планируете. Так, например, известный архиватор WinRAR легко с её помощью научить создавать резервную копию любой папки, что бывает очень полезно, особенно если оформить эту задачу как ежедневное задание Automate. Представьте себе: по окончании рабочего дня ПК сам архивирует ваши рабочие документы, устанавливает соединение с Интернетом и отправляет их на хранение на FTP-сервер или почтовый ящик, выделенный под это дело, после чего сам себя проверяет и обслуживает и выключается.

Но продолжим: мы научили Automate запускать и выгружать все нужные нам программы и протестировали всё задание. Теперь, когда всё готово, закрываем окно Step Builder и в мастере заданий переходим ко второму этапу, называемому не очень понятно - Triggers. На самом деле обычно здесь всего лишь нужно задать расписание запуска нашего задания. Но способ запуска не ограничен лишь временным расписанием! Trigger - это не только срабатывание таймера, это любое событие из довольно обширного списка. Так, можно назначить горячую клавишу каждому из созданных заданий, можно сделать так, что задание запустится вместе со скрин-сейвером или на старте Windows, или же когда изменится определённый файл, либо когда на экране откроется какое-то заранее заданное окно. Последнее, кстати говоря, очень удобно использовать при дозвоне провайдеру по принципу Call Back, поскольку при этом Windows 9x непременно выводит раздражающее окно с кнопкой "OK", для подтверждения пользователем входящего соединения. Стоит лишь задать Automate отслеживать появление этого окна и научить её нажимать эту кнопку, как ещё одна скучная операция выпадет из круга обязанностей пользователя. И что самое главное! Триггеров на одно задание допускается делать несколько, например, и запуск по расписанию и горячие клавиши одновременно. Даже ярлык на Рабочем Столе для запуска комплексного задания, будто оно - одно цельное приложение, программа умеет создавать! Твори - не хочу!

• Macro Scheduler

http://www.mjtnet.com/
Но если вам Automate чем-то не угодил или просто не понравился, то всегда есть шанс найти не менее мощное аналогичное приложение, например, такое, как Macro Scheduler. Принципы программирования во всех шедулерах примерно одинаковы, распространяться тут особенно нечего, различается только интерфейс, и, к сожалению, у Macro Scheduler он явно подкачал по части привлекательности. Но по одёжке, как говорится, встречают - возможности программы почти ничем не уступают более известному Automate, разве что триггеров всего два - таймер и горячие клавиши. Сам же скрипт запуска приложений можно создавать даже более сложный - с ветвлениями и условиями! Плюс полный набор операций с файлами и папками, не говоря уж о стандартных запуске и закрытии приложений - Macro Scheduler умеет всё, что только приходит на ум. Причём для написания скрипта не нужно быть гением в бейсикоподобных языках - все операции планирования задания производятся исключительно мышкой. Возможно, кому-то покажется даже более удобным проверенный временем способ выбора каждой команды - через раскрывающийся список "Command", ниже которого расположено поля для ввода параметров текущей команды. Названия же каждой команды вполне осмысленны и не вызывают желания общаться со справочной документацией. То есть, выбрав однозначно понятную команду "DeleteFile" в поле "Value", нужно задать путь к этому файлу, и при выполнении задания он будет удалён - всё просто. Для более же тонкой отладки созданной программы имеется редактор типа Блокнота, где весь написанный вами скрипт представлен в виде обычного текста с цветовой подсветкой команд разного типа, очень похожей на то, что весьма популярно в чисто "программерских" редакторах. Если накопится много заданий, то будет полезно сгруппировать их по нескольким разделам, дабы в окне программы они не были свалены в одну кучу. Для особо же востребованных задач лучше всего создать ещё и ярлыки на Рабочем Столе, тогда для их запуска будет достаточно всего одного ленивого щелчка мыши. Короче говоря, программа эта очень интересная и качественная, но к счастью, и кроме Macro Scheduler ассортимент планировщиков заданий, с которыми "виндовый" Task Scheduler и близко не стоял, не ограничен.