Как в Mac OS автоматизировать рутинные задачи с помощью Automator


Приложение Automator создает процедуры документооборота (workflows), представляющие собой цепочки стандартных операций, на основе типовых операций, выполняемых большинством приложений. Эти типовые последовательности операций позволяют автоматизировать утомительные, однообразные и рутинные задачи, которые вам часто требуется выполнять на компьютере.Для работы с приложением Automator вам даже не требуется знать никакого языка программирования, чтобы создавать типовые действия процедур документооборота (workflow actions). Для тех, кто не силен в написании командных сценариев (shell scripts) или даже просто побаивается командной строки Terminal, приложение Automator — это наилучший способ создания программ для автоматизации типовых рутинных задач. Все, что при этом вам приходится сделать — это составить схему операций, которые требуется выполнить, и проверить, есть ли в Automator типовые события и действия, с помощью которых вы можете выполнить эти операции.

Например, представьте себе, что вам требуется переименовать, перемасштабировать, а затем отправить по электронной почте набор фотографий. Всю это последовательность операций можно запрограммировать как цепочку действий Automator, которая затем может быть выполнена автоматически. Рассмотрим еще один пример — допустим, вам требуется, чтобы резервная копия конкретной папки создавалась каждый раз, как только вы помещаете в нее что-то новое. Automator может помочь вам и здесь. Или, скажем, если вы просто хотите закрыть все ваши запущенные приложения из панели Dock, в Automator уже есть процедура, подходящая именно для этого. Все приведенные примеры рассматривают элементарные задачи, но вы можете создавать и более сложные процедуры — как путем написания программ на AppleScript, так и с помощью расширенных и дополнительных событий и действий Automator.

В данной статье я покажу несколько простых примеров процедур, которые наглядно продемонстрируют разработку решений с помощью Automator. Кроме того, я рекомендую вам посетить несколько Web-сайтов, посвященных программированию Automator. На этих сайтах приведена дополнительная информация о разработке процедур документооборота, а также доступны для скачивания готовые решения. Вот только некоторые, наиболее информативные Web-сайты, посвященные Automator:

  • Apple Mac 101: руководство по Automator (http://docs.info.apple.com/article.html?artnum=304759).
  • Automator World (http://automatorworld.com) — сайт, на котором доступно большое количество готовых к употреблению процедур документооборота, а также приведены полезные советы, рецепты и новости о приложении Automator.
  • Готовые решения (действия и процедуры документооборота) доступны для бесплатного скачивания и на сайте Apple: http://www.apple.com/downloads/ macosx/automator.

Процедура Automator для закрытия всех приложений

Знакомство с приложением Automator 2.0, устанавливающимся вместе с Mac OS X Leopard, начнем с создания простой автоматизированной процедуры, которая закроет все работающие приложения, кроме Finder. Если вы не хотите видеть список начальных точек процедур Automator каждый раз при запуске этого приложения, выполните щелчок мышью по опции Automator в левой части строки меню и выберите команду Disable Starting Points.

Приложение Automator, представленное значком Otto, располагается в вашей папке Applications (Otto — это имя робота). Когда вы раскроете приложение, вы увидите список начальных точек, с которых следует начинать разработку схем документооборота (рис. 3.27). Выберите опцию Custom и нажмите кнопку Choose.

Если вы ранее уже пользовались (или до сих пор пользуетесь) первой версией Automator (входившей в состав Tiger), то возможно, она вызывала (или продолжает вызывать) у вас некоторые нарекания. С помощью этой ранней версии действительно можно создавать замечательные автоматизированные процедуры, но если что-то идет не так, то процедура просто не работает, и пользователю очень сложно понять, в чем же причина сбоя. Этот недостаток исправлен в Automator 2.0 и более поздних версиях. Теперь вы имеете возможность исследовать каждый шаг автоматизированной процедуры и увидеть, какие результаты он возвращает. Эта возможность очень важна для тех, кто действительно хочет пользоваться Automator для автоматизации рутинных и часто повторяющихся задач.

Рис. 3.27. Начало работы с Automator
Рис. 3.27. Начало работы с Automator

На данном этапе вы увидите окно, состоящее из пяти частей. В левом столбце вы увидите список приложений, функций Finder, а также утилит, в состав которых входят действия и установленные для них события. В этом же столбце вы обнаружите и интеллектуальные группы папок, с помощью которых вы сможете организовать все ваши действия (элементарные операции) и автоматизированные процедуры. В среднем столбце перечислены все доступные действия и события, которые можно обнаружить, выполнив поиск или выделив щелчком мыши один из элементов, перечисленных в первом столбце. В области, расположенной под первыми двумя столбцами, приводится краткое описание выбранных действий. В поле, находящемся под этой областью, приводится информация об авторских правах для каждого действия. Более крупная панель, расположенная правее, предназначена для составления цепочки действий, образующих автоматизированную процедуру.

Сборка процедуры осуществляется путем перетаскивания действий и событий из среднего столбца. Перетаскивание осуществляется с помощью стандартной техники drag and drop. Простейшие автоматизированные процедуры состоят из одного-единственного действия или события, в то время как для создания более сложных процедур требуется дополнительный ввод. Действия и события должны быть упорядочены. Например, некоторые действия требуют идентификации одного или нескольких файлов, в которых информация будет передаваться последующим действиям и событиям.


В верхней части окна располагается инструментальная панель с пятью кнопками. Крайняя левая кнопка, Hide Library, позволяет скрыть первые два столбца. Кнопка Media предоставляет доступ ко всем аудиофайлам, хранящимся в библиотеке iTunes или созданным с помощью GarageBand, вашим фотографиям, созданным с помощью iPhoto и Aperture, а также видеороликам, созданным с помощью iMovie ’08, iPhoto, iTunes и хранящимся в вашей папке Movies. Все эти мультимедийные файлы могут применяться для создания автоматизированных процедур.

Кнопка Record позволяет записывать последовательности действий. Это — новая функция, появившаяся в Automator 2.0. Она будет подробнее рассмотрена чуть далее. Кнопка Run используется для запуска автоматизированной процедуры, что позволяет протестировать ее и проверить на практике ее работу. Разумеется, присутствует и кнопка Stop, с помощью которой можно прервать работу выполняющейся автоматизированной процедуры.

В панели Library, к которой относятся первые два столбца, щелкните по кнопке Actions и выберите опцию Utilities. Перейдите в следующий столбец, прокрутите его и найдите действие Quit All Applications. Перетащите это действие в правую панель, предназначенную для сборки автоматизированной процедуры. В результате окно приложения Automator будет выглядеть так, как показано на рис. 3.28. На данном этапе, вы при желании можете протестировать автоматизированную процедуру, нажав кнопку Run на инструментальной панели. Как и ожидалось, эта процедура закроет все запущенные приложения, в том числе — и Automator.

Рис. 3.28. Построение автоматизированной процедуры Quit all Applications, закрывающей все работающие приложения
Рис. 3.28. Построение автоматизированной процедуры Quit all Applications, закрывающей все работающие приложения

Если вы хотите, чтобы перед закрытием приложения система выводила запрос на сохранение изменений, оставьте взведенным флажок Ask to Save Changes. Если вы хотите, чтобы некоторые приложения оставались работать и не закрывались (в том случае, если они запущены), вы можете добавить их в список Do not quit нажатием кнопки Add. В нижней части окна, описывающего действие, находятся три дополнительных опции. При выполнении автоматизированной процедуры или действия, щелкните мышью по кнопке Results, если вы хотите проверить, было ли данное действие выполнено успешно. В случае неудачи вы получите объяснение ее причин.

Нажатие кнопки Options позволяет задать варианты выбора, которые вы можете сделать до или во время выполнения автоматизированной процедуры или действия. В данном конкретном примере, если вы выберете опцию Show this action when the workflow runs, вы получите возможность отменить это действие до его исполнения, а также добавить или удалить в автоматизированную процедуру приложения, перечисленные в списке (рис. 3.29). Кнопка Descriptions предоставляет дополнительную информацию о том, как будет работать данная автоматизированная процедура и какие результаты планируется получить с ее помощью. Кроме того, она дает некоторые указания по поводу включенных в ее состав действий и событий.

Рис. 3.29. Нажатие кнопки Options предоставляет набор дополнительных опций для данного действия
Рис. 3.29. Нажатие кнопки Options предоставляет набор дополнительных опций для данного действия

После того как автоматизированная процедура будет составлена и протестирована, вам потребуется метод ее запуска без необходимости запуска самого приложения Automator. Чтобы добиться этой цели, сохраните автоматизированную процедуру как приложение. Для этой цели выберите из меню команды File → Save. Выберите папку, в которой требуется сохранить вашу новую автоматизированную процедуру. Возможно, вы захотите сохранить ее в вашей личной папке Applications или в отдельной папке, в которую вы можете создать специально для хранения всех автоматизированных процедур. Затем из списка File Format выберите опцию Application (рис. 3.30). Разумеется, вы можете сохранить процедуру и в виде набора действий (для этого следует выбрать опцию Workflow), но в этом случае при щелчке мышью по вашей процедуре она будет раскрываться в Automator. Если же автоматизированная процедура будет сохранена в формате приложения, она будет вести себя в точности так же, как и любое другое приложение, установленное на вашем компьютере.

Вы можете создать аналогичную автоматизированную процедуру для избирательного закрытия приложений, при котором закрытию будут подлежать только приложения, включенные в список. Для этого перетащите действие Quit Application (расположенное в списке непосредственно после действия Quit All Applications) для каждого приложения, которое вы хотите закрывать автоматически, и сохраните всю автоматизированную процедуру в виде приложения.

После сохранения автоматизированной процедуры в виде приложения, вы можете обнаружить ее там, где вы ее сохранили, и перетащить значок этого приложения в панель Dock, поместив ее рядом со значком Finder. Таким образом вы получите возможность очень быстро (фактически, единственным щелчком мыши) закрывать все работающие приложения, без необходимости проделывать эту процедуру индивидуально для каждого из запущенных приложений.

Рис. 3.30. Сохранение автоматизированной процедуры документооборота (workflow)
Рис. 3.30. Сохранение автоматизированной процедуры документооборота (workflow)

Доступ к просмотру медийных файлов

Если вы — опытный пользователь программ из состава пакета iLife, например, таких как iMovie и iDVD, или же программ iWork, таких, как Keynote или Pages, то вы наверняка знаете, что каждое из этих приложений имеет специальный браузер для просмотра медийных файлов, предназначенный для отбора и использования изображений из вашей библиотеки iPhoto (или Aperture 1.5, если вы установили это ПО).

Однако представьте себе ситуацию, когда вам требуется получить доступ к вашим фотографиям iPhoto или Aperture в процессе работы с приложениями, не обладающими функциональностью браузера медийных файлов. В этом случае вам опять придет на помощь приложение Automator. Используя Automator, вы сможете создать браузер для фотографий или аудиофайлов, доступ к которому вы сможете получить откуда угодно (например, из Finder).

Для этого вам потребуется выполнить следующее:

  1. Запустите Automator 2.0 и выберите опцию Custom.
  2. В крайнем левом столбце браузера Automator выберите опцию Photos. Затем перейдите во второй столбец и выберите опцию Ask for photos. Если вы желаете создать аналогичный браузер для музыкальных файлов, хранящихся в ваших библиотеках iTunes и GarageBand, щелкните мышью по опции Music Actions в библиотеке Automator, а затем в среднем столбце выберите опцию Ask for Songs.
  3. Перетащите мышью действие Ask for photos в главное окно редактирования автоматизированной процедуры.
  4. В поле Prompt введите описательную текстовую строку, например, Get My Photos.
  5. Теперь выберите из меню команды File → Save As и сохраните автоматизированную процедуру в виде приложения. Удобно сохранить новое приложение в папке Applications, откуда его можно перетащить мышью на панель Dock, что обеспечит быстрый доступ к приложению. Кроме того, вы можете сохранить автоматизированную процедуру в виде файла плагина (File → Save As Plug-in), доступ к которому в Mac OS X может осуществляться несколькими различными способами. Например, если вы сохранили процедуру в виде плагина Finder, то доступ к этому плагину можно получить, выполнив щелчок мышью при нажатой клавише Ctrl или выбрав из контекстного меню команды More → Automator → Get My Photos. Вы можете сохранить плагин в виде скрипта, после чего он будет сохранен и доступен через меню Scripts, которое вы можете добавить в строку меню (запустите приложение /Applications/AppleScript/AppleScript Utility и выберите команду Show Script Menu in menu bar).
  6. Теперь вам достаточно будет щелкнуть мышью по значку нового приложения в панели Dock, и на экране появится браузер фотографий iPhoto или Aperture (при том условии, что на вашем компьютере установлено одно из этих приложений или оба приложения — рис. 3.31). Теперь вы сможете мышью перетащить нужные фотографии в ваше приложение, где вы сможете манипулировать картинкой с высоким разрешением так, как вам будет угодно.
Рис. 3.31. Доступ к библиотеке фотографий без iPhoto
Рис. 3.31. Доступ к библиотеке фотографий без iPhoto

Функция Watch Me Do

Чем более активно вы будете пользоваться Automator и изучать его возможности, тем удобнее вы сможете организовать и автоматизировать свою работу. В дополнение к этому, если вы тщательно изучите классическую программу по автоматизации Apple — AppleScript, вы научитесь создавать и еще более сложные и продвинутые автоматизированные процедуры. Тем не менее, если вы не можете или не хотите изучать язык программирования, вы сможете применять Automator для записи последовательностей нажатия клавиатурных комбинаций и операций, выполняемых при помощи мыши с тем, чтобы создавать новые действия, не входящие в состав встроенных стандартных действий Automator.

Для этого следует воспользоваться функцией Watch Me Do, предназначенной специально для записи выполняемых пользователем операций и создания на их основе новых автоматизированных процедур. Чтобы воспользоваться этой функцией, откройте панель параметров предпочтительной настройки Universal Access (System Preferences → Universal Access) и активизируйте доступ к вспомогательным устройствам. Следует иметь в виду, что запись действий работает не во всех случаях, но когда эта функция доступна, она весьма полезна.

Прежде чем протестировать обсуждаемую возможность, создайте на рабочем столе папку WatchMe и поместите в нее несколько маловажных файлов, которыми вы не дорожите. Затем переместите эту папку мышью в панель Dock, где она всегда будет легкодоступной. Далее выполните следующие операции:

  1. Запустите Automator и выберите опцию Custom.
  2. Щелкните мышью по красной кнопке Record на инструментальной панели Automator. В результате интерфейс Automator изменится — вместо окна Automator на экране появится небольшой черный квадратик, указывающий на то, что все события, связанные с клавиатурой и перемещением курсора мыши, будут записываться до тех пор, пока вы не нажмете кнопку Stop.
  3. В рассматриваемом примере давайте выполним следующие операции. Пока Automator находится в режиме записи, наведите курсор на папку WatchMe в панели Dock и выполните на ней щелчок мышью при нажатой клавише Сommand. Когда папка раскроется на вашем рабочем столе, нажмите клавиатурную комбинацию Command+A. Затем нажмите кнопку Delete на инструментальной панели. Все файлы, расположенные в папке WatchMe, будут удалены в Корзину. Не освобождайте Корзину, а вместо этого нажмите кнопку Stop в окне рекордера. Вернуть все файлы обратно в папку WatchMe можно, нажав клавиатурную комбинацию Command+Z.
  4. Теперь настал момент посмотреть на автоматизированную процедуру Watch Me Do, которая отражает результат записи всех действий, выполненных на предыдущем шаге (рис. 3.32). Щелкните мышью по кнопке Run на инструментальной панели Automator. Вы увидите, как Automator в точности воспроизведет все перемещения курсора и нажатия клавиатурных комбинаций, которые вы выполнили на предыдущем шаге. После того как исполнение автоматизированной процедуры завершится, нажмите клавиатурную комбинацию Command+Z в окне Finder, если вы хотите отменить удаление файлов.
  5. При желании вы можете выполнить операцию повторно, но на этот раз изменить скорость воспроизведения, переместив ползунок Playback Speed в правой части окна на показатель 10x, чтобы операция выполнилась быстрее, чем задано по умолчанию.
Рис. 3.32. Функция Watch Me Do записала выполненные операции и теперь воспроизводит их
Рис. 3.32. Функция Watch Me Do записала выполненные операции и теперь воспроизводит их

Размещение автоматизированных процедур

Создав и сохранив автоматизированные процедуры, вы можете раскрыть свою домашнюю папку и перейти в папку Library/Workflow/Application. В ее составе вы увидите папки для всех автоматизированных процедур, которые вы сохранили для своих автоматизированных процедур Finder, Folder или iCal.

Кроме того, вы можете сохранить ваши автоматизированные процедуры для дальнейшей разработки или модификаций. Чтобы сделать это, раскройте интересующую вас процедуру в Automator, выберите из меню команды File → Save или Save As и сохраните автоматизированную процедуру в формате Workflow. Сохранять автоматизированную процедуру можно где угодно — при ее открытии Automator запустится автоматически, и вы сможете продолжить процесс разработки до тех пор, пока не будете полностью удовлетворены полученным результатом.

Совершенно очевидно, что возможности Automator гораздо шире, чем описанные в данном разделе, однако данный рецепт предназначен для того, чтобы дать вам необходимый минимум знаний и базовую идею о том, с чего же следует начать. На чем вы пожелаете остановиться и насколько существенно вы захотите упростить свою жизнь с помощью автоматизации, зависит только от вас. От себя же замечу, что временные затраты на изучение возможностей Automator окупятся очень быстро, и в дальнейшем вы сможете добиться существенной экономии времени и усилий.