Виртуальная прислуга
Чем отличается компьютер от человека? Ну, кроме того, что он
железный и не ест бутерброды? Тем, что ему никогда не надоедает постоянно делать
одну и ту же работу. А человеку надоедает! По крайней мере, лично меня утомляет
каждый раз нажимать на одни и те же кнопки и бесконечно повторять одни и те же
действия. Поэтому я стараюсь переложить на свой компьютер максимальное
количество рутины. Способов сделать это - существует превеликое множество. В
данной статье речь пойдет об одном из них. Но этот способ - один из лучших.
Заключается он в использовании программы Automate.
Знакомство
Скачать дистрибутив Automate можно с сайта www.unisyn.com/automate. "Весит" он
(дистрибутив, разумеется, а не сайт) немало - 17 мегабайт, но программа стоит
того.
Automate распространяется как shareware, и для ознакомления с ней вам
отводится всего (или целых) пятнадцать дней. Надо сказать, что за это время так
сильно привыкаешь к программе, что по истечении этого срока вопрос о покупке
решается сам собой. Кстати, следует сразу сказать, что в Windows 95 Automate не
работает, так что если у вас установлена именно эта операционка, то вам придется
либо сменить ее, либо отказаться от использования этой программы.
Существует многочисленное количество средств для автоматизации рутинных
операций. Простейшие из них ограничиваются тем, что запускают в требуемое время
указанный файл, более сложные - выполняют некие заданные комбинации действий.
Еще более сложный механизм реализован, скажем, в продуктах Microsoft Office -
это механизм скриптов. Но для того чтобы задействовать его в полную силу, нужно
неплохо знать Visual Basic, да и, к тому же, область действий данных скриптов
имеет свои границы. Automate же являет собой прекрасный компромисс между этими
крайностями, сочетая в себе мощь полноценного языка программирования и простоту
его использования.
 |
Внешний вид Automate Task
Administrator |
После инсталляции программы и
перезапуска компьютера в меню "Пуск/Программы" появятся два новых пункта: Automate 5 Task Builder и Automate 5 Task Administrator, а в системном трее
(около часов) возникнет иконка программы. Не нужно быть семи пядей во лбу, чтобы
понять, что Builder предназначен для создания задач, а Administrator - для
управления ими.
Администратор
Знакомство с Automate лучше всего начать с изучения Administrator'a. Работать
с ним достаточно просто. Видите, на большой белом поле размещены большие синие
кружочки с буковками "А" внутри? Нет, это не азбука, это список существующих
задач, которые разработчики поместили сюда для примера. С ними, конечно, можно
поиграться и поэкспериментировать, но куда интереснее создать свою собственную
задачу. Что ж, с этого, пожалуй, мы и начнем.
Смело кликаем по большой кнопке с
надписью "Новый", которую можно не заметить лишь в том случае, если у вас
выключен монитор. Выскочит большое красивое окно. Жмем "Next". Дальше вас
попросят выбрать название новой задачи. Проявим оригинальность - оставим
предложенное название "Моя новая задача" - и снова давим на "Next". Вот теперь
придется немного подумать. Дело в том, что в появившемся меню, которое
называется "Select Trigger", потребуется выбрать то событие, при котором,
образно выражаясь, сработает детонатор. Всего предлагается восемь вариантов:
- Schedule watcher - запуск по времени. Поддерживается огромное количество
разных схем, начиная от единовременного запуска и заканчивая запуском по
сложному расписанию.
- Window watcher - настройка на определенное событие в жизни интересующего нас
окна (открытие, закрытие и т.д). К примеру, скрипт может выполняться лишь тогда,
когда окно с заголовком "Вот это окно" будет минимизировано.
- Performance watcher - наблюдение за системными счетчиками (Performance
Counter) и запуск задачи при достижении одним из них заданного значения. Скажем,
при уменьшении места на винчестере до критического объема.
- Key watcher - вызов задачи при нажатии определенной комбинации клавиш.
- Event log watching - мониторинг системных логов. Вариант явно не для
"чайника".
- Idle watching - запуск задачи через указанное время после последнего
действия пользователя. Другими словами, после того как вы, устав от чрезмерно
долгого бдения за компьютером, уснули и перестали нажимать кнопки и двигать
мышкой.
- System change watching - привязка к системным событиям. Выполнение скрипта
может инициировать смена времени, запуск скринсейвера, добавление или извлечение
устройства, управление режимами монитора, любое изменение в очереди на печать и
т.п.
- File Watching - слежение за состоянием указанных файлов и запуск задачи при
соответствующем изменении их состояния.
Замечательно то, что в каждом создаваемом скрипте можно использовать не один
из вышеперечисленных триггеров, а любое их количество.
После выбора триггера срабатывания (или
набора триггеров) снова кликаем "Next". В появившемся окне имеется
одна-единственная кнопочка - "Create Steps". Нажатие на нее приводит к запуску
Automate Builder - модуля, в котором мы и будем конструировать свои собственные
скрипты.
Создатель скриптов
Главное в "Создателе скриптов" - это команды. В Automate Builder их много,
очень много, но разобраться с ними несложно.
Все они подразделяются на две основные
категории: команды, выполняющие некое определенное действие, например: открыть
файл, минимизировать окно, вывести сообщение, запустить программу, подключиться
к базе данных, имитировать нажатие клавиши и т.д. и т.п., и команды, описывающие
алгоритм работы программы, ее поведение. Представителями данной группы являются
следующие команды: создать переменную, условные операторы (ЕСЛИ, ELSE, ELSE IF),
запустить и остановить задачу и так далее.
Чтобы было легче разобраться с командами, я кратко ознакомлю вас с основными
их группами (кстати, если у вас русифицированная ОС, то часть названий будет
написана по-русски, а часть - по-английски):
- Система - группа системных команд (запуск приложений, управление печатью,
управление монитором и т.д.).
- Interactivity - группа команд, имитирующих действия пользователя (нажатие на
клавишу мышки или клавиатуры, установка фокуса на элемент окна, перемещение
курсора и т.д.).
- Window - ну, тут все понятно и без объяснений - группа команд для управления
окошками (свернуть, развернуть, закрыть, открыть и т.д.).
- Clipboard - команды для работы с буфером обмена (вырезать, копировать,
вставить, очистить и т.д.).
- Internet - большая группа команд для работы с Сетью (дозвониться до
провайдера, открыть веб-страничку, работа по POP3 протоколу, полный комплект
команд для работы с FTP).
- Файл - копирование, удаление, создание файлов, а также их чтение и запись. К
этой же группе принадлежат команды для синхронизации папок и управления
атрибутами файлов.
- Compression - создание и работа с zip-архивами.
- Database - работа с SQL-запросами и хранимыми процедурами (Stored
Procedure).
- Session - завершение сессии или работы компьютера, блокировка и
разблокировка машины.
- Nerwork - все две команды: послать сетевое сообщение, подмонтировать сетевой
диск.
- Multimedia - догадались сами?
- Services - только для NT/2000/XP, работа с системными сервисами.
- Security - тоже всего две команды: остановить выполнение задачи и
блокировать (разблокировать) ввод данных до авторизации пользователя.
- Wait - прекращение работы до тех пор, пока не выполнится определенное
условие, скажем, пока не закроется или не откроется какое-нибудь окно, или пока
указанная точка на экране не примет определенный цвет, или пока какой-то
конкретный файл не изменится в соответствии с заданными условиями.
- Loop - организация циклов внутри выполняемой программы.
- Flow - команды условных переходов. Ну, всякие там "IF: THEN: ELSE".
- Dialogs - организация взаимодействия с пользователем при помощи диалоговых
окон.
- Переменные - создание и работа с внутренними переменными.
- Automate - две команды для запуска и остановки задач самой Automate.
- Дополнительно - ведение логов, работа с реестром и работа с приложениями,
поддерживающими DDE.
Строитель выражений и другие полезные вещи
Кроме довольно богатого выбора команд, Automate имеет в своем арсенале
хороший набор инструментов, которые помогут вам в создании и отладке скриптов.
Все они доступны из основного меню. Например, меню "Запустить" следует
использовать для проверки работоспособности написанного кода. Запускать скрипт
можно с самого начала, можно с определенного места, а можно выполнять его
пошагово - идеальный режим для отладки.
Но самое интересное находится в меню "Tools". Оно небольшое - содержит всего
четыре пункта, и на двух из них следует остановлюсь поподробнее.
Начнем со "Строителя выражений". За
этим на редкость корявым названием скрывается конструктор, позволяющий создавать
новые выражения, которые впоследствии могут быть использованы в скрипте.
Выражение может содержать различные функции, переменные, константы, операторы
встроенного языка программирования и т.д. В результате работы с данным
строителем вы получите что-то типа:
'файл' +ExtractFileName(var1) + ' не удовлетворяет данным условиям'
Воспользовавшись кнопочкой "Тест", вы можете проверить, правильно ли написано
выражение и будет ли оно работать.
Особый интерес представляет последний пункт меню "Tools" - "Recorder".
"Recorder" - это утилита, которая записывает события, генерируемые мышкой или
клавиатурой, для того чтобы потом использовать эту запись в скрипте для
воспроизведения действий пользователя. Перед началом записи Recorder задаст
несколько нехитрых вопросов. Например, он поинтересуется, отслеживать ли
координаты курсора мыши относительно экрана или привязывать их к текущему
активному окну. Это важно! Так как если приложение, для которого создается
сценарий, сместится в сторону, то в лучшем случае записанный скрипт не сработает
вообще, а в худшем - сработает не так, как вы планировали. Согласитесь, что есть
довольно существенная разница между кнопками "Yes" и "No", особенно в ответе на
вопрос типа: "Удалить этот файл без возможности восстановления?".
Практикум
Ну, вот и все, с теорией закончили, предлагаю для практики попробовать
что-нибудь автоматизировать. Например можно написать скрипт, который будет
рассылать вашим должникам письма типа "Уважаемый Семен Семенович! Спешу
напомнить вам о том, что третьего дня вы оказали мне честь, взяв у меня в долг 3
рубля 21 копейку. Мне чрезвычайно приятно, что вы до сих пор пользуетесь моими
деньгами, но я все же набрался наглости просить вас об их возврате. С чувством
глубокого уважения" .
С чего начать создание такого скрипта?
Само собой, с чтения списка должников! Допустим, он хранится в текстовом формате
в таком виде: ФИО | долг | эл.адрес.
Файл: должники.txt Федул Кузькин | 100 руб. | fedul@mail.ru | Козьма
Прутков | 200 руб. | prut_kov@yandex.ru | Васисуалий Лоханкин | 100 руб. |
voronia@sloboda.ru | Перво-наперво создаем переменную. Она понадобится для чтения файла. С этой
целью в папке "Переменные" выбираем команду "Создать переменную", а затем
придумываем ей какое-нибудь имя (использовать можно только латинский шрифт),
druzia, например.
Теперь в ход идут команды:
- Read from File - чтение информации из файла. В ответ на вопрос "Papulate
Variable with read date" следует выбрать ту переменную, которую вы создали.
- Loop List - организуем цикл по списку должников. В качестве источника списка
- все та же переменная. В качестве разделителя списка выберете "custom", и в
появившемся новом поле поставьте символ "|".
- Send Email - отослать письмо.
Вот в принципе, и все.
В процессе создания скрипта вы будете часто
видеть окошко для ввода параметров. Количество и содержимое этих окошек зависит
от команды. Но есть у них и нечто общее - это закладки "Обработка ошибок" и "При
ошибке". Дело в том, что по самым разным обстоятельствам (сбой в программе,
землетрясение, попадание метеорита) команда может не выполниться совсем или
выполниться неправильно. В этих случаях Automate генерирует сообщения об ошибках
и дает возможность их обрабатывать. Разумеется, что сами ошибки для каждой
команды свои. Например, для dialup при всем своем желании не может сообщить, что
"Файл не найден", зато он способен порадовать сообщением "Линия занята". Отметив
галочками те ошибки, на которые необходимо отреагировать, следует выбрать
выполняемые при ошибке действия. К примеру, в указанном случае можно заставить
управляющую программу перезвонить, прервать свое выполнение или же перейти к
выполнению других операций.
После того как вы создали и отладили программу, следует сохранить ее. На этом
работа в Builder'е закончена. Возвращаемся в Administrator.
Осталось сделать последний шаг. А именно: в окне "Logged Off Properties"
указать программе, как поступать с задачей, когда станция заблокирована. Есть
три варианта: авторизоваться под определенным пользователем, запустить задачу в
фоновом режиме и ничего не делать.
Кажется, все. Скрипт готов, им уже
можно пользоваться. Согласитесь, никаких сложностей при его создании у нас не
возникло. С Automate всегда так. Главное - понять, что именно вы хотите от
компьютера! А уж эта программа заставит машину выполнять ваши прихоти.
Источник: http://www.softkey.info/
|