30 июля 2009 - 13:30
AppleScript — это скриптовый язык, который позволяет автоматизировать практически любые задачи в операционной системе OS X. Технология и задачи AppleScript схожи с BAT-файлами DOS и скриптами для оболочки (shell) в UNIX, но в отличии от последних у Apple получилось сделать из AppleScript «дружелюбного помощника» для обычного рядового пользователя. Чтобы написать скрипт не нужно быть программистом.
Впервые AppleScript появился в System 7.1.1, которая вышла в октябре 1993 года.
Каковы возможности AppleScript и на что он способен? Язык глубоко интегрирован в ОС и умеет работать с большинством всех ваших приложений, включая Finder, Safari, iPhoto, iTunes, Adobe Illustrator и Photoshop, Microsoft Word и Excel, VMwareFusion и многих других, поэтому можно утвердительно сказать « он может почти все!»
Например, AppleScript может заменить систему резервного копирования Time Machine и делать копии файлов по расписанию или при выполнении определенных условий. Приведем классический пример с «Hello World!» Для этого запустите приложение Редактор скриптов, он находится в Mac HDD / Программы / AppleScript, в новом документе введите строку say "Hello World!"
.
Нажмите кнопку Запустить и голос системы OS X зачитает строку «Hello World!» Вот вы и создали свой первый скрипт, хотя толку от него будет мало. AppleScript является объектно-ориентированным языком и очень похож на обычный английский. Например, все поймут что делает такой скрипт:
tell application "Finder"
make new folder at desktop with properties {name:"Папка", label index:1}
end tell
Редактор скриптов конечно хорош, но многих отпугнет необходимость писать скрипт вручную. Для таких «домашних» есть специальная утилита Automator, которую можно найти в папке Mac HDD / Программы. «Автоматор» здорово упрощает процесс создания скриптов AppleScript.
Пример создания своего процесса в Automator
Запустив программу можно легко создать свой скрипт, который будет решать необходимые задачи. Приведем уже упомянутый выше пример с Time Machine, создадим скрипт, который бы делал резервную копию папки Загрузки (Downloads).
Запустив Automator выберите в качестве «начальной точки» пункт Файлы и папки. Работа с Automator происходит по принципу Drag&Drop. Слева — панель со стандартными действиями, справа — ваш процесс.
Перетаскивая действия слева на право мышкой можно легко создать свой процесс. Для начала добавьте папку Загрузки к действию Получить указанные объекты Finder, а затем добавьте новое действие Копировать объекты Finder, которому тоже укажите свою папку (туда будет сохраняться резервная копия файлов). Осталось только сохранить свой процесс, файл будет иметь расширение *.workflow.
Свой простенький скрипт вы создали, однако он уже на много полезнее say "Hello World!"
. Запускать скрипт можно при помощи утилиты Automator Runner, также скрипт можно сохранить как плагин Finder (Файл → Сохранить как плагин) и вызывать его можно будет из контекстного меню Finder. При выполнении нашего действия, его статус будет отображаться в Menubar.
Немного пофантазировав можно изменить скрипт, чтобы он делал резервную копию, например, файлов с FTP-сервера. Это будет очень удобно для веб-мастеров. Вобщем возможности AppleScript практически безграничны.
Как вы могли заметить, список стандартных действий в Automator обширен, но что делать если вы не нашли нужного дейтсвия? Для таких случаев в Automator есть функция Запись. Нажмите кнопку Запись и проделайте необходимое действие самостоятельно, а Automator его запомнит.
Благодаря приложению Automator и его функции записи автоматизация в Mac OS X становится доступной пользователю любого уровня. Теперь вам не нужно тратить время на рутинную и ежедневную работу за компьютером.
И если вдруг перед вами встанет задача, к примеру перевести 5000 фотографий в другой формат и изменить размер изображений, то обратившись к Automator вы, а точнее Mac проделает эту работу за несколько минут. Некоторые аналоги Automator существуют и для Windows, но там, во-первых стороннее и платное приложение, во-вторых, оно записывает действия пользователя вплоть до движения курсора мышки, что немного не то, в-третьих интеграция у такой программы будет в разы хуже нежели у AppleScript в Mac OS X.