Использование AppleScript

28 октября в 08:01 | Рубрика: Обзоры | Автор:



AapplescriptppleScript мощный язык, обеспечивающий всесторонние взаимодействия в Mac OS X. Несмотря на то, что это язык программирования, работать с ним сможет даже начинающий пользователь с помощью программы Automator, которая позволяет в удобном графическом режиме «набрасывать» программы и тут же проверять их работоспособность.
Каждый, кто использует компьютер, знает, что выполнение однообразной работы сильно утомляет, и чтобы не заниматься переименованием 100 файлов или обрезки фото вручную, можно легко сделать скрипт, который выполнит работу за считаные секунды.

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

Для того чтобы писать скрипты вручную, откройте Application->Utilities ->AppleScript->Script Editor. Редактор довольно прост, в главном окне вы описываете ход действий, а внизу, отображается журнал времени исполнения. Кнопка Run запускает скрипт, предварительно проверив в нем ошибки.

Script Editor

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

Рассмотрим AppleScript на примере
При работе с серьёзными программными пакеты, часто возникают зависания, к тому же если у вас запушено много программ, то закрывать их после зависания довольно неудобно. Необходимо кликать по доку, и закрывать каждое приложение. Но чтобы автоматизировать как-то процесс, можно написать незамысловатый скрипт, который автоматически закроет все приложения.
Для начала открываем Application->Utilities->AppleScript->Script Editor (путь может немного отличатся), далее копируем данный код в редактор:

— разрешаем процессу получить список всех процессов
tell application «System Events» to set the visible of every process to true
— добавляем Finder в белый список, чтобы его не отрубить
set listWhite to {"Finder"}
tell application «Finder»
— заносим переменную listProcess имена пользовательских процессов
set listProcess to the name of every process whose visible is true
end tell
— запускаем цикл, проходим по элементам записанных в listProcess
repeat with i from 1 to (number of items in listProcess)
— записываем в переменную thisProcess имя процесса
set thisProcess to item i of the listProcess
— если процесс не находится в белом списке завершаем его работу
if thisProcess is not in listWhite then
tell application thisProcess
quit
end tell
— завершаем условия
end if
— завершаем цикл
end repeat

После этого сохраните данный скрипт в качестве программы, и дайте ей простое имя. Далее при запуске данной программы, все приложения кроме Finder будут закрываться. Код не совершенен, в зависимости от версии ОС вторая строчка скрипта может иметь иной вид, но для версий 10.4, 10.5 работать будет. К тому же код можно обвернуть в конструкцию try, чтобы отлавливать ошибки, но для такого маленького скрипта это можно пропустить. Также для удобства использования скрипта можно задать клавиатурную комбинацию для его запуска, это делается с помощью Automator и задания самой комбинации в панели System Preferences. Об этом читайте в прошлых статьях.

AppleScript vs Automator
Если вы начинающий пользователь, то у вас явно возникнет вопрос что же выбрать. Естественно, что Automator, это составная часть AppleScript, но с существенными ограничениями, да, вы сможете «запрограммировать» большинство прикладных задач в Automator, но у вас не будет той гибкости и мощи, которая присущая чисто написанному сценарию в Script Editor.

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

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





Темы: , ,

Понравилась статья? Подписывайся!

Получайте актуальные статьи по «AppleB.Ru - вокруг и около Apple»
прямо на ваш почтовый ящик. Уже более 450 подписчиков!