automator-iconAutomator — это невероятно удобная программа из состава Mac OS X, которая позволяет автоматизировать некоторые рутинные и повседневные операции. К сожалению, большинство новых пользователей Mac даже не догадываются о существовании этого инструмента. Поэтому сегодня я попытаюсь это исправить и с помощью наглядных примеров показать основные принципы создания мини-программ, которые называются «процессами» (workflow).

Групповое переименование изображений

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

Чтобы запустить утилиту, достаточно либо найти её значок вверху каталога Программы (Applications), либо воспользоваться любимым лаунчером для запуска приложений/системным Spotlight. И через несколько секунд перед нами появится окно приложения, а также список доступных шаблонов:

  • «Процесс» — это самая простая последовательность действий, которая может быть запущена непосредственно из Automator.
  • «Программа» является автономным процессом и может быть сохранена в виде обычного приложения Mac OS X с расширением *.app.
  • «Служба» — это процесс, который зависит от контекста, может быть использован во всей системе или отдельных приложениях.
  • «Действие папки» запускается только для указанной в нем папки и инициализируется добавленными в неё объектами.
  • «Плагины печати» используются для расширения возможностей диалога печати.
  • «Напоминания iCal» — это процессы, которые запускаются благодаря событиям, добавленным в iCal.
  • И, наконец, «Плагин захвата изображений» может быть использован в соответствующем приложении для обработки фотографий, загружаемых с камеры.

automator-01

В нашем случае выбираем «Действие папки» — и перед нами появится окно, разделенное на 2 области. В левой половине находится Библиотека (список доступных действий и переменных), а в правой — окно рабочего процесса, в которое можно перетягивать элементы из Библиотеки.

С помощью опции, расположенной в верхней части окна процесса (прямо под панелью инструментов), вам требуется выбрать папку. Для неё и будет выполняться наши действия:

automator-02

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

Теперь в самом первом выпадающем списке нашего действия необходимо выбрать пункт «Сделать последовательными» и настроить формат нового имени по своему усмотрению. Сделать это достаточно легко, так как в нижней части действия находится пример.

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

automator-03

Проверить работу процесса можно просто: сохранить его и перетащить группу файлов в указанную в самом начале папку. Через некоторое время — это зависит от размера и количества файлов — их имена будут автоматически изменены. Видите как просто?

Груповое изменение размеров изображений

Усложняем задачу. Допустим, у нас имеется большое количество изображений (фотографий), которые нужно уменьшить. Для решения этой задачки нам потребуется выбрать шаблон «Программа».

automator-04

Однако, перед тем, как бросаться решать проблему «в лоб», предлагаю составить последовательность необходимых действий. К примеру, для начала следует предложить пользователю выбрать фотографии, размер которых мы хотим изменить. Кроме этого, желательно работать не с оригиналами файлов, а с их копиями, чтобы всегда была возможность попробовать новые настройки для нашего процесса. А уменьшенные изображения мы будем копировать в отдельный каталог.

Теперь можно переходить к формированию нашей мини-программы. Сперва требуется найти и перетащить в окно рабочего процесса действие «Запросить объекты Finder» в категории «Файлы и папки» (или через строку поиска). Там можно указать текст заголовка окна, начальную папку и тип данных. Не забудьте установить чекбокс для множественного выбора.

Чтобы работать с копиями файлов я предлагаю найти в Бибилиотеке действие «Копировать объекты Finder», указав каталог назначения. Следующее действие находится в категории «Фото» и называется «Изменить масштаб изображения». В настройках можно указать размер результирующего изображения в пикселях или процентах.

Кстати, в нижней панели каждого действия есть три вкладки: Результаты, Параметры и Описание. Поэтому если вы хотите, чтобы Automator каждый раз предлагал вам указать необходимый размер изображения при выполнении этого действия, выберите чекбокс «Показывать действие в процессе выполнения» во владке Параметры (при желании, с помощью этой опции можно расширить и предыдущий процесс, чтобы задавать определенное имя файлам для переименования).

Если вы заметили, из каждого действия выходит треугольная стрелочка, которая представляет собой результат его работы. Эти результаты потом используются в следующем действии в качестве входных параметров.

И еще один трюк: выбрав чекбокс «Показывать действие в процессе выполнения», станет активным опция «Показывать только выбранные объекты». Таким образом вы сможете отобразить не все окно с действием, а только некоторые элементы. Например, поле для указания необходимого размера.

И в завершение процесса нам требуется перенести уменьшенное изображение в новый каталог. Для этого нам пригодится действие «Новая папка» из категории «Файлы и папки».

automator-05

Сохраненная программа будет вести себя точно так же, как и любое другое приложение в системе.

Открываем определенные веб-страницы при запуске браузера

Практически каждый день я запускаю Safari и начинаю работать с одними и теми же веб-страницами. Так почему бы не создать приложение, которое будет делать это автоматически?

Нам потребуется шаблон «Приложение» и два действия, находящихся в категории «Интернет»:

  • «Получить выделенные URL», в настройках которого мы указываем наши любимые веб-страницы;
  • и действие «Отображать веб-страницы» для их открытия в браузере по умолчанию.

automator-06

Извлечение текста из PDF

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

Для решения проблемы нам потребуется всего одно действие с аналогичным названием, «Извлечь текст PDF», расположенное в категории «PDF-файлы». Перетащите его в окно рабочего процесса и настройте параметры по своему усмотрению:

automator-07

Заметьте, что в этом процессе мы не указали действие «Запросить объекты Finder», поэтому после запуска можно будет перетащить любой PDF-файл, подлежащий обработке, прямиком на иконку нашего приложения в Dock. Этот файл и послужит входящим параметром для процесса.

Сохраняем содержимое буфера обмена в текстовый файл

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

Далее, в рабочую область копируем действие «Получить содержимое буфера обмена» из категории «Служебные утилиты» (у него нет настроек) и действие «Новый текстовый файл» из категории «Текст».

automator-08

Нашей службе нужно дать человеческое название, чтобы мы могли её без проблем найти в меню «Сервисы» любого приложения…

automator-09

…и назначить ей, если конечно потребуется, сочетание клавиш в приложении Системные настройки.

automator-10

А если заменить действие «Новый текстовый файл» на «Текст в аудиофайл», то в результате работы процесса вы получите аудиодорожку с содержимым буфера обмена, записанную с помощью встроенной в Mac OS X функции преобразования текста в речь.

automator-11

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

Простое автоматическое резервное копирование

Продолжаем усложнять задачу, и теперь я предлагаю создать простую систему резервного копирования, которая будет срабатывать при наступлении определенного события в iCal. Для этого мы воспользуемся его возможностью в качестве напоминания о событии запустить определенное приложение или файл.

automator-12

В Automator выбираем новый тип шаблона — «Напоминание iCal», после чего в окно рабочего процесса перетягиваем три действия из категории «Файлы и папки»:

  • «Получить указанные объекты Finder» (выбираем нужную папку для бекапа с помощью кнопки Добавить).
  • «Получить содержимое папок» с выбранной опцией «Повторить для каждой найденной подпапки».
  • И «Копировать объекты Finder» (для него необходимо указать каталог назначения и позволить заменять существующие файлы).

automator-13

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

automator-14

Завершить работу всех приложений

Иногда требуется завершить все запущенные приложения, которые мешают работать или заняли практически все свободные ресурсы компьютера. В этом случае можно воспользоваться специальной утилитой вроде Blitz, одним из советов по концентрации внимания в Mac OS X или же начать работу «с чистого листа», закрыв все приложения одним махом.

Такой рабочий процесс потребует всего одного действия, оформленного в виде программы. И называется это действие аналогично — «Завершить все программы» (оно находится в категории «Служебные программы»). Вы, также, можете добавить некоторые приложения в исключения. В «трудные моменты» достаточно запустить наше мини-приложение, подождать некоторое время и вновь насладиться быстродействием Мака.

automator-15

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