Ссылка команд
В этой главе описываются команды, доступные для выполнения действий в сценариях AppleScript. Для получения информации о том, как команды работают, видят Обзор Команд.
Команды, описанные в этой главе, доступны любому сценарию — они или встроены в язык AppleScript или добавлены к нему посредством стандартных дополнений сценариев (описанный в Сценариях Дополнений).
Таблица 7-1 перечисляет каждую команду согласно комплекту (или связанная группа) команд, к которым это принадлежит и предоставляет краткое описание. Подробные описания команды следуют за таблицей в алфавитном порядке.
Команда | Описание |
|---|---|
Выявляет приложение и открывает его, если это находится на локальном компьютере и не уже выполнении. | |
В Редакторе сценариев, выводит на экран значение в конечном счете окно Log History или в конечном счете область Log окна сценария. | |
Информация о возвратах о буфере обмена. | |
Данные мест по буферу обмена. | |
Возвращает содержание буфера обмена. | |
Информация о возвратах для файла или папки. | |
Возвращает список в настоящее время монтируемых объемов. Осуждаемое использование | |
Возвращает содержание указанной папки. Осуждаемое использование | |
Монтирует указанный объем AppleShare. | |
Возвращает полный путь указанному приложению. | |
Возвращает полный путь указанной папке. | |
Возвращает полный путь указанному ресурсу. | |
Закрывает файл, открытый для доступа. | |
Возвращает длину, в байтах, файла. | |
Считывает данные из файла, открытого для доступа. | |
Устанавливает длину, в байтах, файла. | |
Данные записей к файлу, открытому для доступа с разрешением записи. | |
Открывает URL с надлежащей программой. | |
Возвращает текущую дату и время. | |
Выполняет сценарий оболочки с помощью | |
Возвращает параметры громкости звукового вывода и ввода. | |
Генерирует случайное число. | |
Округляет число к целому числу. | |
Регулирует громкость звукового вывода и/или ввода. | |
Получает переменные окружения или атрибуты этого компьютера. | |
Информация о возвратах о системе. | |
Возвращает различие между местным временем и GMT (Всемирное время). | |
Возвраты a | |
Выполняет файл сценария или сценария | |
Возвращает список всех компонентов сценариев. | |
Хранилища a | |
Копии одно или более значений в переменные. | |
Считает число элементов в объекте. | |
Возвращает значение выражения сценария или объекта приложения. | |
Запускает указанное приложение, не отправляя ему a | |
Для приложения, запуски это. Для приложения сценария, запуски это и отправляет его | |
Присваивает одно или более значений одному или более объектам переменных сценария или объектам приложения. | |
Преобразовывает число в символ. Осуждаемый запуск в AppleScript 2.0. Используйте | |
Преобразовывает символ в его числовое значение. Осуждаемый запуск в AppleScript 2.0. Используйте | |
Возвращает локализованную строку для указанного ключа. | |
Находит одну часть текста в другом. | |
Суммирует указанный текст или текстовый файл. | |
Звуковые сигналы один или несколько раз. | |
Позволяет пользователю выбирать приложение. | |
Позволяет пользователю выбирать цвет. | |
Позволяет пользователю выбирать файл. | |
Позволяет пользователю указывать новую ссылку на файл. | |
Позволяет пользователю выбирать папку. | |
Позволяет пользователю выбирать один или несколько элементов из списка. | |
Позволяет пользователю выбирать запущенное приложение на удаленной машине. | |
Позволяет пользователю указывать URL. | |
Паузы для фиксированного количества времени. | |
Выводит на экран предупреждение. | |
Выводит на экран диалоговое окно, дополнительно запрашивая ввод данных пользователем. | |
Выводит на экран уведомление. | |
Говорит указанный текст. |
Выявляет приложение, запуская его при необходимости.
Синтаксис
activate | приложение | требуемый | |
Параметры
Приложение для активации.
Результат
Ни один.
Примеры
activate application "TextEdit" |
tell application "TextEdit" to activate |
Обсуждение
activate команда не запускает приложения на удаленных машинах. Для примеров других способов указать приложение, посмотрите application класс и Удаленные приложения.
Возвращает символ для конкретного количества.
Синтаксис
ASCII character | целое число | требуемый | |
Параметры
Код символа, целое число между 0 и 255.
Результат
A text объект, содержащий символ, соответствующий конкретному количеству.
Если целое число вне диапазона, сигнализирует ошибку.
Примеры
set theChar to ASCII character 65 --result: "A" |
set theChar to ASCII character 194 --result: "¬" |
set theChar to ASCII character 2040 --result: invalid range error |
Обсуждение
Имя «ASCII» является чем-то вроде неправильного употребления. ASCII character использует основное текстовое кодирование, как определено предпочтениями языка пользователя, для отображения между целыми числами и символами. Если основной язык является английским, кодирование является римлянином Mac OS, если это является японским, кодированием является Макджэпэнезе и т.д. Для целых чисел ниже 128, это обычно - то же как ASCII, но для целых чисел от 128 до 255, результаты варьируются значительно.
Из-за этой непредсказуемости, ASCII character и ASCII number осуждаются, запускаясь в AppleScript 2.0. Используйте id свойство text класс вместо этого, так как это всегда использует то же кодирование, а именно, Unicode.
Возвращает число, связанное с указанным символом.
Синтаксис
ASCII number | текст | требуемый | |
Параметры
A
textобъект, содержащий по крайней мере один символ. Если существует больше чем один символ, только первый используется.
Результат
Код символа указанного символа как целое число.
Примеры
set codeValue to ASCII number "¬" --result: 194 |
Обсуждение
Результат ASCII number зависит от предпочтений языка пользователя; посмотрите раздел Discussion ASCII character для подробных данных.
Играет системное предупреждение звучат один или несколько раз.
Синтаксис
beep | требуемый | ||
| целое число | дополнительный | |
Параметры
Число раз для подачи звукового сигнала.
- Значение по умолчанию:
1
Результат
Ни один.
Примеры
Слышимые предупреждения могут быть полезными, когда никто, как не ожидают, будет смотреть на экран:
beep 3 --result: three beeps, to get attention |
display dialog "Something is amiss here!" -- to show message |
Позволяет пользователю выбирать приложение.
Синтаксис
choose application | требуемый | ||
with title | текст | дополнительный | |
with prompt | текст | дополнительный | |
multiple selections allowed | булевская переменная | дополнительный | |
as | класс | дополнительный | |
Параметры
Текст заголовка для диалогового окна.
- Значение по умолчанию:
"Choose Application" Подсказка, которая будет выведена на экран в диалоговом окне.
- Значение по умолчанию:
"Select an application:" Позволить многократным элементам быть выбранными? Если
true, даже если будет точно один элемент, результаты будут возвращены в списке.- Значение по умолчанию:
false Указывает желаемый класс результата. Если указано, значение должно быть одним из
applicationилиalias.- Значение по умолчанию:
application
with title текстwith prompt текст multiple selections allowed булевская переменная as класс (приложение | псевдоним)Результат
Выбранное приложение, как любой application или alias объект; например, application "TextEdit". Если множественные выборы позволяются, возвращает список, содержащий один элемент для каждого выбранного приложения, если таковые имеются.
Сигнализирует, что “пользователь отменил” ошибку, если пользователь отменяет диалоговое окно. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.
Примеры
choose application with prompt "Choose a web browser:" |
choose application with multiple selections allowed |
choose application as alias |
Обсуждение
choose application диалоговое окно первоначально представляет список всех приложений, зарегистрированных в системе. Для выбора приложения не в том списке используйте Кнопку обзора, позволяющую пользователю выбирать приложение где угодно в файловой системе.
Позволяет пользователю выбирать цвет из диалогового окна палитры цветов.
Синтаксис
choose color | требуемый | ||
default color | Цвет RGB | дополнительный | |
Параметры
Цвет для показа, когда сначала открыто диалоговое окно палитры цветов.
- Значение по умолчанию:
{0, 0, 0}: черный.
default color Цвет RGBРезультат
Выбранный цвет, представленный как список трех целых чисел от 0 до 65 535 соответствий красным, зеленым, и синим компонентам цвета; например, {0, 65535, 0} представляет зеленый.
Сигнализирует, что “пользователь отменил” ошибку, если пользователь отменяет choose color диалоговое окно. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.
Примеры
Этот пример позволяет пользователю выбрать цвет, затем использует тот цвет для выбирания цвета фона в их домашней папке (когда это находится в представлении в виде значков):
tell application "Finder" |
tell icon view options of window of home |
choose color default color (get background color) |
set background color to the result |
end tell |
end tell |
Позволяет пользователю выбирать файл.
Синтаксис
Параметры
Подсказка, которая будет выведена на экран в диалоговом окне.
- Значение по умолчанию:
Ни один; никакая подсказка не выведена на экран.
Список Универсальных Идентификаторов типов (UTIs); например,
{"public.html", "public.rtf"}. Только файлы указанных типов можно выбрать. Для списка определенного с помощью системы UTIs см. Универсальный Обзор Идентификаторов типов. Для получения UTI для определенного файла использоватьinfo for.Примечание: Коды типа файла с четырьмя символами, такой как
"PICT"или"MooV", также поддерживаются, но осуждаются. Для получения кода типа файла для определенного файла использоватьinfo for.- Значение по умолчанию:
Ни один; любой файл может быть выбран.
Папка, чтобы начать просматривать в.
- Значение по умолчанию:
Просмотр начинается в последнем выбранном расположении, или, если это - первый вызов в пользователе
Documentsпапка. Показать невидимые файлы и папки?
- Значение по умолчанию:
true: Это только по историческим причинам совместимости. Если у Вас нет определенной потребности выбрать невидимые файлы, необходимо всегда использоватьinvisibles false. Позволить многократным элементам быть выбранными? Если
true, даже если будет точно один элемент, результаты будут возвращены в списке.- Значение по умолчанию:
false Показать содержание пакетов? Если
true, пакеты обрабатываются как папки, так, чтобы пользователь мог выбрать файл в пакете (таком как приложение).- Значение по умолчанию:
false. Управлению содержанием пакетов обескураживают, если Вы не управляете форматом пакета или самим пакетом.
with prompt текстof type список текстаdefault location псевдонимinvisibles булевская переменнаяmultiple selections allowed булевская переменнаяshowing package contents булевская переменнаяРезультат
Выбранный файл, как alias. Если множественные выборы позволяются, возвращает список, содержащий один alias для каждого выбранного файла, если таковые имеются.
Сигнализирует, что “пользователь отменил” ошибку, если пользователь отменяет диалоговое окно. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.
Примеры
set aFile to choose file with prompt "HTML or RTF:" ¬ |
of type {"public.html", "public.rtf"} invisibles false |
UTI может указать общий класс файлов, не только определенный формат. Следующий сценарий позволяет пользователю выбирать любой файл образа, является ли его формат JPEG, PNG, GIF,или что бы то ни было. Это также использует default location параметр объединился с path to (folder) начать просматривать в пользователе Pictures папка:
set picturesFolder to path to pictures folder |
choose file of type "public.image" with prompt "Choose an image:" ¬ |
default location picturesFolder invisibles false |
Позволяет пользователю указывать новое имя файла и расположение. Это не создает файл — скорее он возвращает спецификатор файла, который может использоваться для создания файла.
Синтаксис
choose file name | требуемый | ||
with prompt | текст | дополнительный | |
default name | текст | дополнительный | |
default location | псевдоним | дополнительный | |
Параметры
Подсказка, которая будет выведена на экран около вершины диалогового окна.
- Значение по умолчанию:
"Specify new file name and location" Имя файла по умолчанию.
- Значение по умолчанию:
"untitled" Расположение файла по умолчанию. Посмотрите
choose fileдля примеров.- Значение по умолчанию:
Просмотр запускается в последнем расположении, в котором поиск был сделан или, если это - первый вызов в пользователе
Documentsпапка.
with prompt текстdefault name текстdefault location псевдонимРезультат
Выбранное расположение, как a file. Например:
file "HD:Users:currentUser:Documents:untitled"
Сигнализирует, что “пользователь отменил” ошибку, если пользователь отменяет диалоговое окно. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.
Примеры
Следующий пример предоставляет быстрое и поисковое расположение не по умолчанию:
set fileName to choose file name with prompt "Save report as:" ¬ |
default name "Quarterly Report" ¬ |
default location (path to desktop folder) |
Обсуждение
Если Вы выбираете имя файла или папки, существующей в выбранном расположении, choose file name предлагает выбор замены выбранного элемента. Однако желание заменить фактически не заменяет элемент.
Позволяет пользователю выбирать каталог, такой как папка или диск.
Синтаксис
Параметры
Подсказка, которая будет выведена на экран в диалоговом окне.
- Значение по умолчанию:
Ни один; никакая подсказка не выведена на экран.
Папка, чтобы начать просматривать в.
- Значение по умолчанию:
Просмотр начинается в последнем выбранном расположении, или, если это - первый вызов в пользователе
Documentsпапка. Показать невидимые папки?
- Значение по умолчанию:
false Позволить многократным элементам быть выбранными? Если
true, даже если будет точно один элемент, результаты будут возвращены в списке.- Значение по умолчанию:
false Показать содержание пакетов? Если
true, пакеты обрабатываются как папки, так, чтобы пользователь мог выбрать папку пакета, такую как приложение или папка в пакете.- Значение по умолчанию:
false. Управлению содержанием пакетов обескураживают, если Вы не управляете форматом пакета или самим пакетом.
with prompt текстdefault location псевдонимinvisibles булевская переменнаяmultiple selections allowed булевская переменнаяshowing package contents булевская переменнаяРезультат
Выбранный каталог, как alias. Если множественные выборы позволяются, возвращает список, содержащий один alias для каждого выбранного каталога, если таковые имеются.
Сигнализирует, что “пользователь отменил” ошибку, если пользователь отменяет choose folder диалоговое окно. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.
Примеры
Следующий пример указывает подсказку и позволяет множественные выборы:
set foldersList to choose folder ¬ |
with prompt "Select as many folders as you like:" ¬ |
with multiple selections allowed |
Следующий пример получает путь POSIX к выбранной папке и использует quoted form свойство ( text класс) для обеспечения корректного заключения в кавычки получившей строки для использования с командами оболочки:
set folderName to quoted form of POSIX path of (choose folder) |
Предположим, что Вы выбираете названную папку iWork '08 в Вашем Applications папка. Предыдущая выписка возвратила бы следующий результат, должным образом обрабатывающий встроенную одинарную кавычку и пробелы на имя папки:
"'/Applications/iWork '\\''08/'" |
Позволяет пользователю выбирать элементы из списка.
Синтаксис
Параметры
Список чисел и/или
textобъекты для пользователя выбрать из.Текст заголовка для диалогового окна.
- Значение по умолчанию:
Ни один; никакой заголовок не выведен на экран.
Подсказка, которая будет выведена на экран в диалоговом окне.
- Значение по умолчанию:
"Please make your selection:" Список чисел и/или
textобъекты, которые будут первоначально выбраны. Список не может включать многократные элементы, если Вы также не указываетеmultiple selections allowed true. Если элемент в списке элементов по умолчанию не находится в списке для выбора из, это проигнорировано.- Значение по умолчанию:
Ни один; никакие элементы не выбраны.
Имя кнопки OK.
- Значение по умолчанию:
"OK" Имя Кнопки отмены.
- Значение по умолчанию:
"Cancel" Позволить многократным элементам быть выбранными?
- Значение по умолчанию:
false Позволить пользователю выбирать OK без выбранных элементов? Если
false, кнопка OK не будет включена, если не будет выбран по крайней мере один элемент.- Значение по умолчанию:
false
with title текстwith prompt текстdefault items список (числа или текста)OK button name текстcancel button name текстmultiple selections allowed булевская переменнаяempty selection allowed булевская переменнаяРезультат
Если пользователь щелкает по кнопке OK, a возвратов list из выбранного number и/или text элементы; если пустой выбор позволяется, и ничто не выбрано, возвращает пустой список ({}). Если пользователь щелкает по Кнопке отмены, возвратам false.
Примеры
Этот сценарий выбирает из списка всех людей в Адресной книге, определивших дни рождения, и получает день рождения выбранного. Заметьте if the result is not false тест (choose from list возвраты false если пользователь нажимает Cancel), и set aName to item 1 of the result (choose from list возвращает список, даже если он содержит только один элемент).
tell application "Address Book" |
set bDayList to name of every person whose birth date is not missing value |
choose from list bDayList with prompt "Whose birthday would you like?" |
if the result is not false then |
set aName to item 1 of the result |
set theBirthday to birth date of person named aName |
display dialog aName & "'s birthday is " & date string of theBirthday |
end if |
end tell |
Обсуждение
По историческим причинам, choose from list единственная диалоговая команда, возвращающая результат (false) вместо того, чтобы сигнализировать ошибку, когда пользователь нажимает кнопку «Cancel».
Позволяет пользователю выбирать запущенное приложение на удаленной машине.
Синтаксис
choose remote application | требуемый | ||
with title | текст | дополнительный | |
with prompt | текст | дополнительный | |
Параметры
Результат
Выбранное приложение, как application объект.
Сигнализирует, что “пользователь отменил” ошибку, если пользователь отменяет диалоговое окно. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.
Примеры
set myApp to choose remote application with prompt "Choose a remote web browser:" |
Обсуждение
Пользователь может выбрать удаленную машину, использующую Добрый день или путем ввода определенного IP-адреса. Нет никакого способа ограничить точный вид возвращенного приложения, таким образом, или предел Ваш сценарий к универсальным операциям или проверяет выбор пользователя. Если Вы захотите, чтобы Ваш сценарий отправил специализированные команды в получающееся приложение, то Вам будет нужно использование условия от оператора.
Для получения информации о предназначении для других машин посмотрите Удаленные приложения.
Позволяет пользователю указывать URL.
Синтаксис
choose URL | требуемый | ||
showing | listOfServiceTypesOrTextStrings | дополнительный | |
editable URL | булевская переменная | дополнительный | |
Параметры
Список, указывающий типы служб для показа при наличии. Список может содержать один или больше следующих типов службы, включая всех правопреемников
textобъекты, представляющие типы службы Bonjour (описанный ниже), или оба:Web servers: показываетhttpиhttpsслужбыFTP Servers: показываетftpслужбыTelnet hosts: показываетtelnetслужбыFile servers: показываетafp,nfs, иsmbслужбыNews servers: показываетnntpслужбыDirectory services: показываетldapслужбыMedia servers: показываетrtspслужбыRemote applications: показываетeppcслужбы
A
textобъект интерпретируется как тип службы Bonjour — например,"_ftp._tcp"представляет протокол передачи файлов. Эти типы перечислены в Технических Вопросах и ответах 1312: типы службы Bonjour используются в OS X.- Значение по умолчанию:
File servers Позволить пользователю вводить в URL? Если Вы указываете
editable URL false, текстовое поле в диалоговом окне неактивно.choose URLне пытается проверить, что вводимым пользователем текстом является допустимый URL. Ваш сценарий должен быть подготовлен проверить возвращенное значение.- Значение по умолчанию:
true: пользователь может ввести текстовую строку. Еслиfalse, пользователь ограничивается выбором элемента из Добрый день предоставленного списка служб.
showing список (типов службы или текста)editable URL булевская переменнаяРезультат
URL для службы, как a text объект. Этот результат может быть передан open location или к любому приложению, которое может обработать URL, такой как браузер для http URLs.
Сигнализирует, что “пользователь отменил” ошибку, если пользователь отменяет диалоговое окно. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.
Примеры
Следующий сценарий просит, чтобы пользователь выбрал URL, или путем ввода в поле ввода текста или выбора одного из Добрый день расположенных серверов:
set myURL to choose URL |
tell application Finder to open location myURL |
Информация о возвратах о текущем содержании буфера обмена.
Синтаксис
clipboard info | требуемый | ||
for | класс | дополнительный | |
Параметры
Ограничивает возвращенную информацию только этим типом данных.
- Значение по умолчанию:
Ни один; информация о возвратах для всех типов данных как список списков, где каждый список представляет разновидность фрагмента.
for классРезультат
A list содержа одну запись {class, size} для каждого типа данных по буферу обмена. Для получения фактических данных используйте the clipboard команда.
Примеры
clipboard info |
clipboard info for Unicode text |
Закрывает файл, открытый с open for access команда.
Синтаксис
close access | fileSpecifier | требуемый | |
Параметры
Псевдоним или спецификатор файла или целочисленный дескриптор файла файла для закрытия. Дескриптор файла должен быть получен как результат более раннего
open for accessвызвать.
Результат
Ни один.
Если указанный файл не открыт, сигнализирует ошибку.
Примеры
Необходимо всегда закрывать файлы, которые Вы открываете, будучи убеждающимися составить возможные ошибки при использовании открытого файла:
set aFile to choose file |
set fp to open for access aFile |
try |
--file reading and writing here |
on error e number n |
--deal with errors here and don't resignal |
end |
close access fp |
Обсуждение
Когда приложение выйдет, любые файлы, оставленные открытыми, будут автоматически закрыты.
Копии одно или более значений, храня результат в одной или более переменных. Эта команда только копирует значения AppleScript, не определенные с помощью приложения объекты.
Синтаксис
copy | выражение | требуемый | |
to | variablePattern | требуемый | |
Параметры
Результат
Новая копия значения.
Примеры
Как упомянуто в Обсуждении, copy создает независимую копию исходного значения, и оно создает глубокую копию. Например:
set alpha to {1, 2, {"a", "b"}} |
copy alpha to beta |
set item 2 of item 3 of alpha to "change" --change the original list |
set item 1 of beta to 42 --change a different item in the copy |
{alpha, beta} |
--result: {{1, 2, {"a", "change"}}, {42, 2, {"a", "b"}}} |
Каждая переменная отражает только изменения, внесенные непосредственно в ту переменную. Сравните это с подобным примером в set.
Посмотрите set команда для примеров использования шаблонов переменных. Поведение является тем же за исключением того, что копируются значения.
Обсуждение
copy команда может использоваться, чтобы присвоить новые значения существующим переменным или определить новые переменные. Посмотрите Объявление Переменных с Командой копии для дополнительных подробных данных.
Используя copy команда создает новую ценность, которая независима от оригинала — последующее изменение к тому значению не изменяет исходное значение. Копия является «глубокой» копией, таким образом, также копируются подобъекты, такие как списки в списках. Контрастируйте это с поведением set команда.
При использовании copy с объектным спецификатором сам спецификатор является скопированным значением, не объект в целевом приложении, к которому это относится. copy поэтому копирует объектный спецификатор, но не влияет на данные приложения вообще. Для копирования объекта в целевом приложении используйте приложение duplicate команда, если это имеет тот.
Специальные замечания
Синтаксис put выражение into variablePattern также поддерживается, но осуждается. Это будет преобразовано в copy сформируйтесь при компиляции сценария.
Считает число элементов в другом объекте.
Синтаксис
(count | number of) | выражение | требуемый | |
Параметры
Результат
Число элементов, как integer.
Примеры
В его самой простой форме, count, или эквивалентное псевдосвойство number, количества item элементы значения. Это может быть значением AppleScript, таким как список:
set aList to {"Yes", "No", 4, 5, 6} |
count aList --result: 5 |
number of aList --result: 5 |
… или имеющий определенный с помощью приложения объект item элементы:
tell application "Finder" to count disk 1 --result: 4 |
Если значение является объектным спецификатором, оценивающим к списку, count считает элементы того списка. Это может быть Каждым спецификатором:
count every integer of aList --result: 3 |
count words of "hello world" --result: 2 |
tell application "Finder" to count folders of disk 1 --result: 4 |
… или спецификатор Фильтра:
tell application "Finder" |
count folders of disk 1 whose name starts with "A" --result: 1 |
end tell |
… или подобный. Для больше на объектных спецификаторах, посмотрите Объектные Спецификаторы.
Возвращает текущую дату и время.
Синтаксис
current date | требуемый | ||
Результат
Текущая дата и время, как a date объект.
Примеры
current date --result: date "Tuesday, November 13, 2007 11:13:29 AM" |
Посмотрите date класс для получения информации о том, как получить доступ к свойствам даты, таким как день недели или месяца.
Ожидает конкретного количества секунд.
Синтаксис
delay | требуемый | ||
| число | дополнительный | |
Параметры
Число секунд для задержки. Число может быть дробным, такой как
0.5задержать половину секунды.- Значение по умолчанию:
0
Результат
Ни один.
Примеры
set startTime to current date |
delay 3 --delay for three seconds |
set elapsedTime to ((current date) - startTime) |
display dialog ("Elapsed time: " & elapsedTime & " seconds") |
Обсуждение
delay не делает гарантий о фактической длине задержки, и это не может быть более точно, чем 1/60-й из секунды. delay не подходит для задач в реальном времени, таких как синхронизация аудио-видео.
Выводит на экран стандартизированное предупреждение, содержащее сообщение, объяснение, и от одной до трех кнопок.
Синтаксис
Параметры
Предупредительный текст, выведенный на экран в подчеркнутом системном шрифте.
Объяснительное сообщение, выведенное на экран в маленьком системном шрифте ниже предупредительного текста.
Тип предупреждения для показа. Можно указать один из следующих предупредительных типов:
informational: стандартное предупредительное диалоговое окноwarning: предупредительное диалоговое диалоговое окно под маркой со значком предупрежденияcritical: в настоящее время то же как стандартное предупредительное диалоговое окно
- Значение по умолчанию:
informational Список до трех имен кнопки.
При предоставлении одного имени кнопка с тем именем служит значением по умолчанию и выведена на экран на правой стороне предупредительного диалогового окна. При предоставлении двух имен две кнопки выведены на экран справа со вторым служением в качестве кнопки по умолчанию. При предоставлении трех имен первое выведено на экран слева, и следующие два справа, как в случае с двумя кнопками.
- Значение по умолчанию:
{"OK"}: Одна кнопка маркировала «OK», который является кнопкой по умолчанию. Имя или число кнопки по умолчанию. Это может совпасть с кнопкой отмены.
- Значение по умолчанию:
Самая правая кнопка.
Имя или число кнопки отмены. См. «Результат» ниже. Это может совпасть с кнопкой по умолчанию.
- Значение по умолчанию:
Ни один; нет никакой кнопки отмены.
Число секунд для ожидания прежде автоматически отклонить предупреждение.
- Значение по умолчанию:
Ни один; диалоговое окно будет ожидать, пока пользователь не нажмет кнопку.
message текстas alertTypebuttons список (текста)default button (текст или целое число)cancel button (текст или целое число)giving up after целое число Результат
Если пользователь нажимает кнопку, не указанную как кнопка отмены, display alert возвращает запись, идентифицирующую кнопку, нажатую — например, {button returned: "OK"}. Если команда указывает a giving up after значение, запись будет также содержать a gave up:false элемент.
Если display alert команда указывает a giving up after значение и диалоговое окно отклонены вследствие таймаута, прежде чем пользователь нажмет кнопку, команда возвращает запись, указывающую, что никакая кнопка не была возвращена, и команда сдалась: {button returned:"", gave up:true}
Если пользователь щелкает по указанной кнопке отмены, команда сигнализирует, что “пользователь отменил” ошибку. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.
Примеры
set alertResult to display alert "Insert generic warning here." ¬ |
buttons {"Cancel", "OK"} as warning ¬ |
default button "Cancel" cancel button "Cancel" giving up after 5 |
Для дополнительного примера посмотрите раздел Examples для try оператор.
Выводит на экран диалоговое окно, содержащее сообщение, одну - три кнопки, и дополнительно значок и field, в котором пользователь может ввести текст.
Синтаксис
Параметры
Диалоговый текст, выведенный на экран в подчеркнутом системном шрифте.
Начальное содержание доступного для редактирования текстового поля. Это поле редактирования не присутствует, если не присутствует этот параметр; чтобы иметь полевое настоящее, но очистить, укажите пустую строку:
default answer ""- Значение по умолчанию:
Ни один; нет никакого поля редактирования.
Если это правда, любой текст в поле редактирования затенен как в диалоговом окне пароля: каждый символ выведен на экран как маркер.
- Значение по умолчанию:
false: текст в поле редактирования показан в открытом тексте. Список до трех имен кнопки.
- Значение по умолчанию:
Если Вы не указываете кнопок, по умолчанию, Отмена и кнопки OK показаны с набором кнопки OK как кнопка по умолчанию.
При указании каких-либо кнопок нет никакого значения по умолчанию или кнопки отмены, если Вы не используете следующие параметры для указания их.
Имя или число кнопки по умолчанию. Если пользователь нажимает Return или клавишу Enter, эта кнопка выделяется и будет нажата.
- Значение по умолчанию:
Если нет указанного использования никаких кнопок
buttons, кнопка OK. Иначе, нет никакой кнопки по умолчанию. Имя или число кнопки отмены. Если пользователь нажмет Клавишу выхода или Период команды, эта кнопка будет нажата.
- Значение по умолчанию:
Если нет указанного использования никаких кнопок
buttons, Кнопка отмены. Иначе, нет никакой кнопки отмены. Заголовок диалогового окна.
- Значение по умолчанию:
Ни один; никакой заголовок не выведен на экран.
Имя ресурса или ID значка для отображения.
Тип значка для показа. Можно указать одну из следующих констант:
stop(или0): Показывает значок остановкиnote(или1): Показывает значок приложенияcaution(или2): Показывает значок предупреждения, под маркой со значком приложения
aliasилиfileспецификатор, указывающий a.icnsфайл.Число секунд для ожидания прежде автоматически отклонить диалоговое окно.
- Значение по умолчанию:
Ни один; диалоговое окно будет ожидать, пока пользователь не нажмет кнопку.
default answer текстhidden answer булевская переменнаяbuttons список (текста)default button (текст | целое число)cancel button (текст | целое число)with title текстwith icon (текст | целое число)with icon (остановитесь | примечание | предостережение),with icon (псевдоним | файл)giving up after целое числоРезультат
Запись, содержащая нажатую кнопку и текст, вошла, если таковые имеются. Например:
{text returned:"Cupertino", button returned:"OK"}
Если диалоговое окно не позволяет ввод текста, существует нет text returned элемент в возвращенной записи.
Если пользователь щелкает по указанной кнопке отмены, команда сигнализирует, что “пользователь отменил” ошибку. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.
Если display dialog команда указывает a giving up after значение и диалоговое окно отклонены вследствие таймаута, прежде чем пользователь нажмет кнопку, это возвращает запись, указывающую, что никакая кнопка не была возвращена, и команда сдалась: {button returned:"", gave up:true}
Примеры
Следующий пример показывает, как использовать многие параметры к a display dialog команда, как обработать возможные возвращенные значения и один способ обработать пользователя, отменила ошибку. Диалоговое окно выводит на экран две кнопки и предлагает пользователю вводить имя, сдаваясь, если они не делают ответ в течение пятнадцати секунд. Это показывает один способ обработать случай, где пользователь отменяет диалоговое окно, приводящее к AppleScript, сигнализирующему «ошибку» с кодом ошибки-128. Дополнительное использование сценария display dialog команды, чтобы показать поток логики и указать, где Вы могли добавить операторы для обработки определенных результатов.
set userCanceled to false |
try |
set dialogResult to display dialog ¬ |
"What is your name?" buttons {"Cancel", "OK"} ¬ |
default button "OK" cancel button "Cancel" ¬ |
giving up after 15 ¬ |
default answer (long user name of (system info)) |
on error number -128 |
set userCanceled to true |
end try |
if userCanceled then |
-- statements to execute when user cancels |
display dialog "User cancelled." |
else if gave up of dialogResult then |
-- statements to execute if dialog timed out without an answer |
display dialog "User timed out." |
else if button returned of dialogResult is "OK" then |
set userName to text returned of dialogResult |
-- statements to process user name |
display dialog "User name: " & userName |
end if |
end |
Следующий пример выводит на экран диалоговое окно, просящее пароль. Это предоставляет ответ по умолчанию "wrong", и указывает, что ответ по умолчанию, а также любой текст, введенный пользователем, скрыт (выведенный на экран как серия маркеров). Это дает пользователю до трех возможностей ввести правильный пароль.
set prompt to "Please enter password:" |
repeat 3 times |
set dialogResult to display dialog prompt ¬ |
buttons {"Cancel", "OK"} default button 2 ¬ |
default answer "wrong" with icon 1 with hidden answer |
set thePassword to text returned of dialogResult |
if thePassword = "magic" then |
exit repeat |
end if |
end repeat |
if thePassword = "magic" or thePassword = "admin" then |
display dialog "User entered valid password." |
end if |
Текст пароля копируется с возвращаемого значения dialogResult. Если пользователь отменяет выполнение остановок AppleScript сценария, сценарий не проверяет на отмененную ошибку пользователя, поэтому.
Отправляет уведомление с помощью Центра Уведомления, содержа заголовок, подзаголовок и объяснение, и дополнительно играя звук.
Синтаксис
display notification | текст | требуемый | |
with title | текст | дополнительный | |
subtitle | текст | дополнительный | |
sound name | текст | дополнительный | |
Параметры
Основной текст уведомления. По крайней мере одно из этого и заголовка должно быть указано.
Заголовок уведомления. По крайней мере одно из этого и основного текста должно быть указано.
Подзаголовок уведомления.
Имя звука для игры, когда появляется уведомление. Это может быть базовым именем любого звука, установленного в
Library/Sounds.
with title текстsubtitle текстsound name текстРезультат
Ни один.
Примеры
display notification "Encoding complete" subtitle "The encoded files are in the folder " & folderName |
Обсуждение
Точно тем, как уведомление представлено, управляют предпочтения «Уведомлений» в Установках системы. Пользователи могут решить вывести на экран сокращенную форму уведомления, выключить звук, или даже не вывести на экран их вообще.
Выполняет сценарий оболочки с помощью sh оболочка.
Синтаксис
Параметры
Сценарий оболочки для выполнения.
Указывает желаемый тип результата. Необработанные байты, возвращенные командой, будут интерпретироваться как указанный класс.
- Значение по умолчанию:
«class utf8»: Текст UTF-8. Если будет не как параметр, и вывод не является допустимым UTF-8, то вывод будет интерпретироваться как текст в основном кодировании. Выполнить команду как администратора? Как только сценарий правильно аутентифицируется, он не попросит аутентификацию снова в течение пяти минут. Поднятые полномочия и льготный период не расширяются ни на какие другие сценарии или на остальную часть системы. Для соображений безопасности Вы не можете сказать другое приложение
do shell script with administrator privileges. Поместите команду за пределами любогоtellблок, или вставленный это atell meблок.- Значение по умолчанию:
false Имя учетной записи администратора. Можно избежать диалогового окна пароля путем указания имени в этом параметре и пароля в
passwordпараметр. При указании имени пользователя необходимо также указать пароль.Пароль администратора, обычно используемый в сочетании с администратором, указанным
user nameпараметр. Еслиuser nameопущен, это, как предполагается, текущий пользователь.Если
do shell scriptизменение команды все окончания строки в выводе команды к стилю Mac и обрезке запаздывающая? Например, результатdo shell script "echo foo; echo bar""foo\rbar", не"foo\nbar\n"то, что фактически возвратился сценарий оболочки.- Значение по умолчанию:
true
as классadministrator privileges булевская переменнаяuser name текстpassword текстaltering line endings булевская переменнаяРезультат
Вывод сценария оболочки.
Если сценарий оболочки выходит с ненулевым состоянием, сигнализирует ошибку. Код ошибки будет состоянием, сообщение об ошибке будет содержанием stderr.
Примеры
do shell script "uptime" |
Обсуждение
Для дополнительной документации и примеров do shell script команда, посмотрите Техническое примечание TN2065, сделайте сценарий оболочки в AppleScript.
Оценивает объектный спецификатор и возвращает результат.
Название команды get является обычно дополнительным — выражения, появляющиеся как операторы, или операнды автоматически оценены, как будто ими предшествовали get. Однако get может использоваться для принуждения ранней оценки части объектного спецификатора.
Синтаксис
get | спецификатор | требуемый | |
as | класс | дополнительный | |
Параметры
Объектный спецификатор, который будет оценен. Если спецификатор относится к определенному с помощью приложения объекту,
getкоманда отправляется в то приложение. Технически, все значения отвечают наget, но для всех значений кроме объектных спецификаторов,getработа идентификационных данных: результатом является то же самое значение.Желаемый класс для возвращенных данных. Если данные не имеют желаемого типа, AppleScript пытается принудить его к тому типу.
- Значение по умолчанию:
Ни один; никакое приведение не выполняется.
as классРезультат
Значение оцененного выражения. Посмотрите Ссылочные Формы для подробных данных о том, каковы результаты оценки различных объектных спецификаторов.
Примеры
get может получить свойства или элементы AppleScript-определенных объектов, такие как списки:
get item 1 of {"How", "are", "you?"} --result: "How" |
… или определенных с помощью приложения объектов:
tell application "Finder" to get name of home --result: "myname" |
Как отмечено выше, get является обычно дополнительным. Например, эти операторы эквивалентны вышеупомянутым двум:
item 1 of {"How", "are", "you?"} --result: "How" |
tell application "Finder" to name of home --result: "myname" |
Однако явное get может быть полезно для принуждения ранней оценки части объектного спецификатора. Рассмотрите:
tell application "Finder" to get word 1 of name of home |
--Finder got an error: Can’t get word 1 of name of folder "myname" of folder "Users" of startup disk. |
Это перестало работать, потому что Средство поиска не знает об элементах text, такой как words. AppleScript делает, однако, таким образом, сценарий должен заставить Средство поиска добраться только name of ... часть:
tell application "Finder" to get word 1 of (get name of home) |
--result: "myname" |
Явное get силы, что часть спецификатора, который будет оценен; Средство поиска возвращает a text результат, от которого может тогда добраться AppleScript word 1.
Для получения дополнительной информации о спецификаторах посмотрите Объектные Спецификаторы.
Возвращает длину файла, в байтах.
Синтаксис
get eof | fileSpecifier | требуемый | |
Параметры
Файл для получения длины для, как псевдоним, спецификатор файла, или
integerдескриптор файла. Дескриптор файла должен быть получен как результат более раннегоopen for accessвызвать.
Результат
Логический размер файла, т.е. длины его содержания в байтах.
Примеры
Этот пример получает псевдоним к настольной папке изображения и использованию get eof получить его длину:
set desktopPicturesFolderPath to ¬ |
(path to desktop pictures folder as text) & "Flow 1.jpg" as alias |
--result: alias "Leopard:Library:Desktop Pictures:Flow 1.jpg" |
get eof desktopPicturesFolderPath --result: 531486 |
Возвращает параметры громкости звукового вывода и ввода.
Синтаксис
get volume settings | требуемый | ||
Результат
Запись, содержащая параметры громкости звукового вывода и ввода. Все целочисленные настройки между 0 (тихи) и 100 (полный объем):
output volume(integer)Основной выходной объем.
input volume(integer)Входной объем.
alert volume(integer)Предупредительный объем. 100 для этой установки означает “столь же громкий как выходной объем”.
output muted(aboolean)Вывод отключен звук? Если это правда, это переопределяет вывод и предупредительные объемы.
Примеры
set volSettings to get volume settings |
--result: {output volume:43, input volume:35, alert volume:78, output muted:false} |
Возвратите информацию для файла или папки.
Синтаксис
info for | fileSpecifier | требуемый | |
size | булевская переменная | дополнительный | |
Параметры
Псевдоним или спецификатор файла для файла или папки.
Возвратить размер файла или папки? Для файла его «размер» является его длиной в байтах; для папки это - сумма размеров всех файлов, которые содержит папка.
- Значение по умолчанию:
true: Поскольку получение размера папки требует получения размеров всех файлов в нем,size trueможет занять много времени для больших папок такой как/System. Если Вы не нуждаетесь в размере, просите не получать его использованиеsize false. Также предназначайтесь для Средства поиска или приложений Системных событий для выяснения определенные свойства, которые Вы хотите.
size булевская переменнаяРезультат
Рекордное, содержащее информацию об указанном файле или папке, со следующими полями. Некоторые поля только присутствуют для определенных видов элементов:
name(atextобъект)Полное имя элемента, как это появляется в файловой системе. Это всегда включает расширение, если таковые имеются. Например,
"OmniOutliner Professional.app".displayed name(atextобъект)Имя элемента, как это появляется в Средстве поиска. Это может отличаться, чем
nameесли элемент имеет локализованное имя, если расширение скрыто или. Например,"OmniOutliner Professional".short name(atextобъект, только приложения)Приложение
CFBundleName, когда приложение активно, который является именем, выведенным на экран в строке меню. Это часто, но не всегда, то же как выведенное на экран имя. Например,"OmniOutliner Pro".name extension(atextобъект)Дополнительная часть названия товара. Например, расширение имени файла “
foo.txt”"txt".bundle identifier(atextобъект)Идентификатор пакета пакета. Если пакет является приложением, это - приложение
id.type identifier(atextобъект)Тип элемента, как Uniform Type Identifier (UTI). Это - предпочтительная форма для идентификации типов изделия и может использоваться с
choose file.kind(atextобъект)Тип элемента, как выведено на экран в Средстве поиска. Это может быть локализовано и должно только использоваться в целях дисплея.
default application(aliasобъект)Приложение, которое откроет этот элемент.
creation date(adateобъект)Дата элемент создавалась.
modification date(adateобъект)Дата элемент была в последний раз изменена. Даты модификации папки не изменяются, когда элемент в них изменяется, хотя они действительно изменяются, когда элемент добавлен или удален.
file type(atextобъект)Тип элемента, как четыре кода символа. Это - классический эквивалент идентификатора типа, но менее точный и более твердый интерпретировать; использовать
type identifierесли это возможно.file creator(atextобъект)Код создателя элемента с четырьмя символами. Для приложений это - классический эквивалент идентификатора пакета и будет работать на ссылку на приложение ID. Для файлов это может использоваться для выведения приложения по умолчанию, но не надежно; использовать
default applicationесли это возможно.short version(atextобъект)Строка короткой версии элемента, как это появляется в окне «Get Info» Средства поиска. Любой элемент может иметь этот атрибут, но обычно только приложения делают.
long version(atextобъект)Долгая строка версии элемента, как это появляется в окне «Get Info» Средства поиска. Любой элемент может иметь этот атрибут, но обычно только приложения делают.
size(integer)Размер элемента, в байтах. Для получения дополнительной информации посмотрите
sizeпараметр.alias(aboolean)Действительно ли элемент является файлом псевдонима?
folder(aboolean)Действительно ли элемент является папкой? Это - истина для пакетов, таких как пакеты приложений, а также нормальные папки.
package folder(aboolean)Действительно ли элемент является папкой пакета, такой как приложение? Папка пакета появляется в Средстве поиска, как будто это - файл.
extension hidden(aboolean)Имя действительно ли элемента является скрытым расширением?
visible(aboolean)Действительно ли элемент видим? Как правило, только специальные системные файлы невидимы.
locked(aboolean)Элемент заблокирован?
busy status(aboolean)Действительно ли элемент используется в настоящее время?
Если
true, элемент надежно занят. Еслиfalse, элемент может все еще быть занятым, потому что это состояние не может поддерживаться некоторыми приложениями или файловыми системами.folder window(прямоугольник, только папки)Ограничительный прямоугольник окна папки, как список четырех целых чисел: {вершина, оставленная, нижняя часть, право}.
Примеры
set downloadsFolder to path to downloads folder |
--result: alias "HD:Users:me:Downloads:" |
info for downloadsFolder |
--result: {name:"Downloads", folder:true, alias:false, ...} |
Специальные замечания
Поскольку info for возвраты такая информация, это может быть медленно, и потому что это только работает над одним файлом за один раз, может быть трудно использовать. Рекомендуемый метод должен использовать Системные события или Средство поиска для выяснения определенные свойства, которые Вы хотите.
Запускает приложение, если оно уже не работает, но не отправляет ему a run команда.
Если приложение уже работает, отправляя ему a launch команда не имеет никакого эффекта. Это позволяет Вам открывать приложение, не выполняя его обычные процедуры запуска, такие как открытие нового окна или, в случае приложения сценария, выполняя его сценарий. Например, можно использовать launch команда, когда Вы не хотите, чтобы приложение открылось и закрылось явно. Это менее полезно в AppleScript 2.0, запускающем приложения, как скрытый по умолчанию (даже с run команда).
Посмотрите application ссылка класса для получения информации о том, как использовать application объект is running свойство, чтобы определить, работает ли это, не имея необходимость запускать его.
Синтаксис
launch | приложение | требуемый | |
Параметры
Приложение для запуска.
Результат
Ни один.
Примеры
launch application "TextEdit" |
tell application "TextEdit" to launch |
Обсуждение
launch команда не запускает приложения на удаленных машинах. Для примеров других способов указать приложение, посмотрите application класс.
Много приложений также поддерживают reopen команда, повторно активирующая запущенное приложение или запускающая его, если оно не работает. Если приложение уже работает, эта команда имеет тот же эффект как двойной щелчок по значку приложения в Средстве поиска. Каждое приложение определяет, как оно реализует reopen в то время как другие не выполняют дополнительных операций, команда — некоторые могут выполнить их обычные процедуры запуска, такие как открытие нового окна.
Возвращает имена в настоящее время монтируемых объемов.
Синтаксис
list disks | требуемый | ||
Результат
A list из текстовых объектов, один для каждого в настоящее время монтируемого объема.
Возвращает имена элементов в указанной папке.
Синтаксис
list folder | fileSpecifier | требуемый | |
invisibles | булевская переменная | дополнительный | |
Параметры
Указывает папку для перечисления.
Показать невидимые файлы и папки?
- Значение по умолчанию:
true
invisibles булевская переменнаяРезультат
A list из text объекты, один для каждого элемента в указанной папке.
Возвраты a script объект загрузился от указанного файла.
Синтаксис
load script | fileSpecifier | требуемый | |
Параметры
Результат
script объект. Можно получить свойства этого объекта или вызвать его обработчики, как будто это была локальная переменная script объект.
Примеры
Для примеров посмотрите Сохранение и Загрузку Библиотек Обработчиков в приблизительно Обработчиках.
Возвращает локализованный текст для указанного ключа.
Синтаксис
localized string | текст | требуемый | |
from table | текст | дополнительный | |
in bundle | fileSpecifier | дополнительный | |
Параметры
Ключ, для которого можно получить локализованный текст.
Имя строкового файла, исключая
.stringsсуффикс.- Значение по умолчанию:
"Localizable" aliasилиfileспецификатор, указывающий строковый файл.- Значение по умолчанию:
Текущий сценарий связывается для основанного на документе сценария (a
scptdпакет); иначе, текущее приложение.
from table текстin bundle (псевдоним | файл)Результат
A text объект, содержащий локализованный текст или исходный ключ, если нет никакого локализованного текста для того ключа.
Примеры
Для localized string чтобы быть полезными, необходимо создать данные локализованной строки для него для использования:
Сохраните свой сценарий как пакет сценария или комплект приложений.
Создать
lprojпапки вResourcesкаталог пакета для каждой локализации: например,English.lproj,French.lproj. Создайте названные файлыLocalized.stringsв каждом. Когда Вы сделаны, структура папок должна быть похожей на это:Структура Пакета рисунка 7-1 с данными локализованной строки 
Добавьте пары ключ/значение к каждому файлу Локэлизед.стрингса. Каждая пара является строкой текста
"ключ" = "значение";, например:Пара ключ/значение рисунка 7-2 для данных локализованной строки 
Теперь localized string возвратит надлежащие значения, как определено в Ваших файлах. Например, при выполнении на французском языке:
localized string "hello" --result: "bonjour" |
В Редакторе сценариев, выводит на экран значение в конечном счете окно Log History или в конечном счете область Log окна сценария.
Синтаксис
log | требуемый | ||
| значение | дополнительный | |
Параметры
Значение для отображения. Выражения оценены, но не разрешены объектные спецификаторы.
Выведенное на экран значение включается в символы блока примечаний — например,
(*window 1*).Если Вы не указываете значение,
logвыведет на экран просто символы комментария:(**).
Результат
Ни один.
Примеры
Следующее показывает простое использование журналирования:
set area to 7 * 43 as square feet |
log area -- result (in Event Log pane): (*square feet 301.0*) |
Операторы журнала могут быть полезны для отслеживания прогресса сценария. Для примера, показывающего, как зарегистрировать операторы в повторном цикле, посмотрите Журналирование.
Монтирует указанный сетевой том.
Синтаксис
mount volume | текст | требуемый | |
on server | текст | (см. описание параметра), | |
in AppleTalk zone | текст | (см. описание параметра), | |
as user name | текст | дополнительный | |
with password | текст | дополнительный | |
Параметры
Имя или URL (например,
afp://server/volume/) из объема для монтирования.Сервер, на котором находится объем; опустите, если путь URL обеспечил в прямом параметре.
Зона AppleTalk, в которой находится сервер; опустите, если обеспечил путь URL.
Имя пользователя, с которым можно войти в систему сервера; опустите для гостевого доступа.
Пароль для имени пользователя; опустите для гостевого доступа.
on server текстin AppleTalk zone текстas user name текстwith password текстРезультат
Ни один.
Примеры
mount volume "afp://myserver.com/" -- guest access |
mount volume "http://idisk.mac.com/myname/Public" |
mount volume "http://idisk.mac.com/somebody" ¬ |
as user name "myname" with password "mypassword" |
Обсуждение
mount volume команда может соединиться с любым файловым сервером, поддерживающимся Средством поиска Connect К... команда, включая Windows (smb), Samba и Ftp-серверы. На некоторых видах серверов, as user name и with password параметры могут не обойти диалоговое окно входа в систему, но кодирование имени и пароля в URL (например, smb://myname:passwd@server.domain.com/sharename) смонтирует его тихо.
Находит одну часть текста в другом.
Синтаксис
offset | требуемый | ||
of | текст | требуемый | |
in | текст | требуемый | |
Результат
integer значение, указывающее позицию, в символах, исходного текста в цели, или 0, если не найденный.
Примеры
set myString to "Yours, mine, and ours" |
offset of "yours" in myString --result: 1, because case is ignored by default |
offset of "mine" in myString --result: 8 |
offset of "theirs" in myString --result: 0, because "theirs" doesn't appear |
considering case |
offset of "yours" in myString -- result: 0, because case is now considered |
end considering |
Обсуждение
offset сравнивает текст как equals оператор делает, включая considering и ignoring условия. Значения возвратились, считаются тот же путь character элементы text считаются — например, offset of "c" in "école" всегда 2, независимо от ли "école" находится в Форме Нормализации C или D. Результат соответствия части символьного кластера не определен.
Открывает файл для чтения и записи.
Синтаксис
open for access | fileSpecifier | требуемый | |
write permission | булевская переменная | дополнительный | |
Параметры
aliasилиfileспецификатор, указывающий файл для открытия. Если файл существует, можно только использовать псевдоним.Должен запись в файл быть позволенной?
- Значение по умолчанию:
false:writeиset eofкоманды на этом файле перестанут работать с ошибкой.
write permission булевская переменнаяРезультат
Дескриптор файла, как integer. Этот дескриптор файла может использоваться с любой из других команд файла: read, write, get eof, set eof, и close access.
Примеры
Следующий пример открывает файл по имени «NewFile» в указанном расположении path to desktop, но не просит доступ для записи:
set theFile to (path to desktop as text) & "NewFile" |
set referenceNumber to open for access theFile |
Для открытия файла с доступом для записи Вы заменили бы следующей строкой:
set referenceNumber to open for access theFile with write permission |
Обсуждение
Открытие использования файла open for access не то же как открытие файла с помощью Средства поиска. Это «открыто» только в том смысле, что AppleScript имеет доступ в чтение (и дополнительно запишите), его содержание; это не появляется в одном из окон целевого приложения, и это даже не должен быть один из файлов целевого приложения. open for access и связанные команды файла (read, write, get eof, set eof) обычно используются с текстовыми файлами. Они могут также считать и записать произвольных двоичных данных, но это не рекомендуется, если Вы не создаете файл сами или имеете детальное знание формата файла.
Вызов open for access по возвратам файла целое число, назвал дескриптор файла, представляющий канал открытого общения данным файла. Этот дескриптор файла остается открытым до вызовов сценария close access на нем (или на том же файле). Каждый дескриптор файла поддерживает указатель файла, отмечающий текущую позицию в файле и первоначально установленный в начало файла. read и write команды начинают читать или писать в указателе файла, если не проинструктировано иначе использование a from или starting at параметр и усовершенствование, которое указатель файла числом байтов считал или записанный, таким образом, следующая работа начнется, где кончил предыдущий.
Единственный файл может быть открыт несколько раз, и поэтому иметь несколько различных дескрипторов файлов. Каждый дескриптор файла поддерживает свой собственный указатель файла, и каждый должен быть закрыт отдельно. При открытии больше чем одного канала сразу с разрешением записи поведение является неуказанным.
Не строго необходимо использовать open for access— все другие команды файла могут принять псевдоним; если файл не будет открыт, то они откроют его, сделают работу, и затем закроют его. Явно открытие и закрытие файла действительно имеют два потенциальных преимущества, как бы то ни было.
Каждый - производительность: при выполнении многих операций на том же файле открытие и закрытие его неоднократно могли становиться дорогими. Более дешево явно открыть файл, выполнить работу, и затем явно закрыть его.
Два простота последовательных операций чтения и операций записи: потому что указатель файла отслеживает прогресс через файл, читая или пишущий, что несколько частей данных от того же файла являются простым вопросом. Выполнение той же вещи, не используя указатель файла требует вычисления размера данных самостоятельно, который даже не возможен в некоторых случаях.
Открывает URL с надлежащей программой.
Синтаксис
open location | текст | требуемый | |
error reporting | булевская переменная | дополнительный | |
Параметры
URL для открытия.
Этот параметр существует только по историческим причинам; это больше не поддерживается.
error reporting булевская переменнаяРезультат
Ни один.
Примеры
Этот пример открывает веб-страницу Apple:
open location "http://www.apple.com" |
Возвращает расположение указанного приложения.
Синтаксис
path to | требуемый | ||
| приложение | дополнительный | |
as | класс | дополнительный | |
Параметры
Приложение для определения местоположения. Посмотрите
applicationссылка класса для возможных способов указать приложение. Можно также использовать один из следующих идентификаторов:current applicationПриложение, выполняющее сценарий, такой как Редактор сценариев.
frontmost applicationfrontmost приложение.
meСам сценарий. Для приложений сценария это совпадает с
current application, но для документов сценария, это - расположение документа.itПриложение текущей цели.
- Значение по умолчанию:
it Класс возвращенного расположения. Если указано, должен быть один из
aliasилиtext.- Значение по умолчанию:
as класс (псевдоним | текст)Результат
Расположение указанного приложения, как любой alias или a text объект, содержащий путь.
Примеры
path to application "TextEdit" |
--result: alias "Leopard:Applications:TextEdit.app:" |
path to --result: alias "Leopard:Applications:AppleScript:Script Editor.app:" |
path to me --result: same as above |
path to it --result: same as above |
path to frontmost application --result: same as above |
path to current application |
--result: same, but could be different for a script application |
Возвращает расположение указанной специальной папки.
Синтаксис
path to | постоянная папка | требуемый | |
from | доменная константа | дополнительный | |
as | класс | дополнительный | |
folder creation | булевская переменная | дополнительный | |
Параметры
Специальная папка, для которой можно возвратить путь. Можно указать одну из следующих папок:
application support
applications folder
desktop
desktop pictures folder
documents folder
downloads folder
favorites folder
Folder Action scripts
fonts
help
home folder
internet plugins
keychain folder
library folder
modem scripts
movies folder
music folder
pictures folder
preferences
printer descriptions
public folder
scripting additions
scripts folder
services folder
shared documents
shared libraries
sites folder
startup disk
startup items
system folder
system preferences
temporary items
trash
users folder
utilities folder
workflows folder
Следующие папки также определяются, но только значимы, когда используется с
from Classic domain:apple menu
control panels
control strip modules
extensions
launcher items folder
printer drivers
printmonitor
shutdown folder
speakable items
stationery
voices
Домен, в котором можно искать указанную папку. Можно указать один из следующих доменов:
system domainПапка в
/System.local domainПапка в
/Library.network domainПапка в
/Network.user domainПапка в
~, домашняя папка пользователя.Classic domainПапка в Классической системной папке Mac OS. Только значимый в системах та Классика поддержки.
- Значение по умолчанию:
Домен по умолчанию для указанной папки. Это варьируется в зависимости от папки.
Класс возвращенного расположения.
- Значение по умолчанию:
Создайте папку, если она не существует? Ваш сценарий может не иметь разрешения создать папку (например, прося создавать что-то в системном домене), таким образом, Ваш сценарий должен быть подготовлен к той ошибке.
- Значение по умолчанию:
true
from доменная константаas класс (псевдоним | текст)folder creation булевская переменнаяРезультат
Расположение указанной папки, как любой alias или a text объект, содержащий путь.
Примеры
path to desktop --result: alias "Leopard:Users:johndoe:Desktop:" |
path to desktop as string --result: "Leopard:Users:johndoe:Desktop:" |
Возвращает расположение указанного ресурса.
Синтаксис
path to resource | текст | требуемый | |
in bundle | fileSpecifier | дополнительный | |
in directory | текст | дополнительный | |
Параметры
Имя требуемого ресурса.
aliasилиfileспецификатор, указывающий пакет, содержащий ресурс.- Значение по умолчанию:
Текущий сценарий связывается для основанного на документе сценария (a
scptdпакет); иначе, текущее приложение. Имя подкаталога в пакете
Resourcesкаталог.
in bundle (псевдоним | файл)in directory текстРезультат
Расположение указанного ресурса, как alias.
Примеры
Следующий пример показывает, как можно получить путь к a .icns файл — в этом случае, в приложении Средства поиска.
tell application "Finder" |
set gearIconPath to path to resource "Gear.icns" |
end |
--result: alias "HD:System:Library:CoreServices:Finder.app:Contents:Resources:Gear.icns" |
Возвращает случайное число.
Синтаксис
random number | требуемый | ||
from | число | дополнительный | |
to | число | дополнительный | |
with seed | число | дополнительный | |
Параметры
Самое низкое число для возврата. Может быть отрицательным.
- Значение по умолчанию:
0.0
Самое большое количество для возврата. Может быть отрицательным.
- Значение по умолчанию:
1.0
Начальное семя для генератора случайных чисел. После того, как вызванный с любым определенным значением семени,
random numberбудет всегда генерировать ту же последовательность чисел. Когда тестирование рандомизировало алгоритмы, это может быть полезно: можно вынудить его вести себя тот же путь каждый раз.
from числоto числоwith seed целое числоРезультат
Число между from и to пределы, включая предельные значения. В зависимости от предельных значений результатом может быть целое число или реальное. Если по крайней мере один предел указан, и все указанные пределы являются целыми числами, результатом является целое число. Иначе, результат является реальным, и может иметь дробную часть.
Примеры
random number --result: 0.639215561057 |
random number from 1 to 10 --result: 8 |
Обсуждение
Случайные числа, по определению, случайны, что означает, что можно получить то же число дважды (или еще больше) подряд, особенно если диапазон возможных чисел является маленьким.
Сгенерированные числа являются только псевдослучайными, и не считаются криптографически безопасными.
Если необходимо выбрать один из ряда объектов в отношении, использовать some объект, а не объект (random number from 1 to count объекты). Дополнительную информацию см. в Произвольной ссылочной форме.
Считывает данные из файла.
Синтаксис
Параметры
Файл для чтения из, как псевдоним, спецификатор файла, или
integerдескриптор файла. Дескриптор файла должен быть получен как результат более раннегоopen for accessвызвать.Позиция байта в файле, чтобы начать читать из. Позиция на основе 1, таким образом,
1первый байт файла,2второе, и т.д. Отрицательные целые числа рассчитывают от конца файла, таким образом,-1последний байт,-2предпоследнее, и т.д.- Значение по умолчанию:
Текущий указатель файла (см.
open for access) если файл открыт, или начало файла если нет. Число байтов для чтения.
- Значение по умолчанию:
Читайте до конца файла.
Прекратите читать в этой позиции байта в файле; использовать
eofуказать последний байт. Позиция на основе 1, какfromпараметр.Отдельный символ; читайте до следующего возникновения того символа. Прежде чем символ также читается, но не является частью результата, таким образом, следующее
readзапустится сразу после него.Отдельный символ; читайте до и включая следующее возникновение того символа.
Разделитель, такой как вкладка или символ возврата, используемый для разделения чтения данных на список текстовых объектов. Получающиеся элементы состоят из текста между случаями текста разделителя. Разделитель считают разделителем, таким образом, продвижение или запаздывающий разделитель произведут пустую строку с другой стороны. Например, результат чтения
"axbxcx"использование разделителя"x"был бы{"a", "b", "c", ""}.- Значение по умолчанию:
Ни один;
readвозвращает единственный элемент. Как
using delimiterвыше, но все строки в списке рассчитывают как разделители.Интерпретируйте необработанное чтение байтов как этот класс. Наиболее распространенные управляют использованием трех различных текстовых кодировок:
textилиstringОсновное текстовое кодирование, как определено предпочтительным набором языка пользователя в Международной предпочтительной панели. (Например, римлянин Mac OS для английского языка, Макджэпэнезе для японского языка, и т.д.)
Unicode textUTF-16.
«class utf8»UTF-8. (См. Двойные Угловые скобки для получения информации о двойной угловой скобке или «необработанном» синтаксисе.)
Любой другой класс возможен, например
dateилиlist, если данные были записаны с помощью a, но обычно только полезноwriteоператор, указывающий то же значение дляasпараметр.- Значение по умолчанию:
text
from целое числоfor целое числоto (целое число | eof)before текстuntil текстusing delimiter текстusing delimiters список текстаas классРезультат
Данные читают из файла. Если файл открыт, указатель файла совершенствуется числом чтения байтов, таким образом, следующее read команда запустится, где кончил предыдущий.
Примеры
Следующий пример открывает файл для доступа для чтения, чтений до (и включая) первое возникновение ".", закрывает файл и выводит на экран текст, который он считал. (См. раздел Examples для write команда для того, как создать подобный файл для чтения.)
set fp to open for access file "Leopard:Users:myUser:NewFile" |
set myText to read fp until "." |
close access fp |
display dialog myText |
Считать весь текст в файле, замене set myText to read fp until "." с set myText to read fp.
Обсуждение
Самое большее один из to, for, before, и until позволяется. Использование before, until, или using delimiter(s) интерпретирует файл сначала как текст и затем принудит текст к тому, что указано в as параметр. Иначе, это обрабатывается как двоичные данные (который может быть интерпретирован как текст, раз так указанный.)
read не может автоматически обнаружить кодирование, используемое для текстового файла. Если файл не находится в основном кодировании, необходимо предоставить надлежащее as параметр.
При чтении двоичных данных, read всегда обратный порядок байтов использования. Это - только беспокойство при чтении двоичных файлов, произведенных другими приложениями.
Округляет число к целому числу.
Синтаксис
round | реальный | требуемый | |
rounding | roundingDirection | дополнительный | |
Параметры
Число к раунду.
Направление к раунду. Можно указать одно из следующих направлений округления:
upРаунды к следующему самому большому целому числу. Это совпадает с математической функцией «потолка».
downОкругляет в меньшую сторону до следующего самого маленького целого числа. Это совпадает с математической функцией «пола».
toward zeroРаунды к нулю, отбрасывая любую дробную часть. Также известный как усечение.
to nearestРаунды к самому близкому целому числу;.5 случаев округлены к самому близкому даже целое число. Например, 1,5 раунда к 2, 0,5 раунда к 0. Также известный как “несмещенное округление” или “округление банкиров”. Посмотрите Обсуждение для подробных данных.
as taught in schoolРаунды к самому близкому целому числу;.5 случаев округлены далеко от нуля. Это соответствует правила, обычно преподававшиеся в элементарных классах математики.
- Значение по умолчанию:
to nearest
rounding roundingDirectionРезультат
Округленное значение, как integer если это в допустимом диапазоне (±229), или как a real если нет.
Примеры
Окружение или вниз не является тем же как округлением далеко от или к нулю, хотя это может появиться так для положительных чисел. Например:
round 1.1 rounding down --result: 1 |
round -1.1 rounding down --result: -2 |
К раунду к самому близкому кратному числу чего-то другого, чем 1, разделитесь на то число сначала, вокруг, и затем умножьтесь. Например, к раунду число к самым близким 0.01:
set x to 5.1234 |
set quantum to 0.01 |
(round x/quantum) * quantum --result: 5.12 |
Обсуждение
Определение to nearest более точно, чем as taught in school, но может быть удивительным, если Вы не видели его прежде. Например:
round 1.5 --result: 2 |
round 0.5 --result: 0 |
Округление 1.5 к 2 не должно удивлять, но as taught in school округлился бы 0.5 до 1. Проблема состоит в том, что при контакте с большими наборами данных или со многими последующими операциями округления, всегда окружение представляет небольшой восходящий скос в результатах. Правило раунда-к-ровному, используемое to nearest имеет тенденцию сокращать общую погрешность округления, потому что в среднем равная часть чисел округлит в меньшую сторону, как окружит.
Выполняется run обработчик указанной цели.
Для запуска приложения это должно быть на локальном или смонтированном объеме. Если приложение уже работает, эффект run команда зависит от приложения. Некоторые приложения не затронуты; другие повторяют свои процедуры запуска каждый раз, когда они получают a run команда.
run команда запускает приложение, как скрытый; использовать activate выявлять приложение.
Для a script объект, run команда вызывает или явное или неявное run обработчик, если таковые имеются, чтобы быть выполненным. Для соответствующей информации посмотрите выполненные Обработчики.
Синтаксис
run | runTarget | дополнительный |
Параметры
A
scriptилиapplicationобъект.- Значение по умолчанию:
it(текущая цель)
runTarget сценарийРезультат
Результат, если таковые имеются, возвращенный указанным объектом run обработчик.
Примеры
run application "TextEdit" |
tell application "TextEdit" to run |
run myScript --where myScript is a script object |
Для получения информации об использовании run команда с script объекты, посмотрите Передающие Команды к Объектам сценария.
Обсуждение
Для указания приложения для выполнения можно предоставить строку только имя приложения, как показано в разделе Examples. Или можно указать расположение более точно, с помощью одной из форм, описанных в Псевдонимах и Файлах. Для примеров других способов указать приложение, посмотрите application класс.
Не необходимо явно сказать приложение run прежде, чем отправить ему другие команды; AppleScript сделает это автоматически. Для запуска приложения, не вызывая его обычное поведение запуска используйте launch команда. Для получения дальнейшей информации посмотрите Вызов Приложения Сценария Из Сценария.
Выполняет указанный файл сценария или сценария.
См. также store script.
Синтаксис
run script | scriptTextOrFileSpecifier | требуемый | |
with parameters | listOfParameters | дополнительный | |
in | текст | дополнительный | |
Параметры
Результат
Результат сценария run обработчик.
Примеры
Следующий сценарий предназначается для приложения Средство поиска, выходя из двойных кавычек вокруг имени приложения с символом наклонной черты влево (для получения дополнительной информации об использовании наклонной черты влево, посмотрите раздел Special String Characters в text описание класса):
run script "get name of front window of app \"Finder\"" --result: a window name |
Этот пример выполняет сценарий, сохраненный на диске:
set scriptAlias to "Leopard:Users:myUser:Documents:savedScript.scptd:" as alias |
run script scriptAlias --result: script is executed |
Говорит указанный текст.
Синтаксис
say | текст | требуемый | |
displaying | текст | дополнительный | |
using | текст | дополнительный | |
waiting until completion | булевская переменная | дополнительный | |
saving to | fileSpecifier | дополнительный | |
Параметры
Текст для разговора.
Текст для отображения в окне обратной связи, если отличающийся от разговорного текста. Этот параметр проигнорирован, если Распознавание речи не включено (в Установках системы).
Речь для разговора с — например:
"Zarvox".Можно использовать любую речь от Системной Речи, раскрывающейся на тексте к вкладке Speech в Речевой предпочтительной области.
- Значение по умолчанию:
Речь существующей системы (набор в панели Speech в Установках системы.
Команда должна ожидать речи для завершения перед возвратом? Этот параметр проигнорирован, если Распознавание речи не включено (в Установках системы).
- Значение по умолчанию:
true aliasилиfileспецификатор кAIFFфайл (существующий или не) для содержания звукового вывода. Можно только использоватьaliasспецификатор, если существует файл. Если этот параметр указан, звук не играется слышимо, только сохраняется к файлу.- Значение по умолчанию:
Ни один; на тексте говорят вслух, и никакой файл не сохранен.
displaying текстusing текстwaiting until completion булевская переменнаяsaving to (псевдоним | файл)Результат
Ни один.
Примеры
say "You are not listening to me!" using "Bubbles" -- result: spoken in Bubbles |
Следующий пример сохранил разговорный текст в звуковой файл:
set soundFile to choose file name -- specify name ending in ".aiff" |
--result: a file URL |
say "I love oatmeal." using "Victoria" saving to soundFile |
--result: saved to specified sound file |
Возвращает список имен всех в настоящее время доступных компонентов сценариев, таких как компонент AppleScript.
Синтаксис
scripting components | требуемый | ||
Результат
A list из text элементы, один для каждого установили сценарии компонента.
Примеры
scripting components --result: {"AppleScript"} |
Обсуждение
Компонент сценариев является компонентом программного обеспечения, таким как AppleScript, соответствующий интерфейсу Open Scripting Architecture (OSA). OSA обеспечивает абстрактный интерфейс для приложений, чтобы скомпилировать, выполнить и управлять сценариями, не будучи должен знать подробные данные определенного языка сценариев. Каждый язык сценариев соответствует единственному компоненту сценариев.
Присваивает одно или более значений одной или более переменным.
Синтаксис
set | variablePattern | требуемый | |
to | выражение | дополнительный |
Параметры
Результат
Значение присвоилось.
Примеры
set может использоваться для создания новых переменных:
set myWeight to 125 |
... присвойте новые значения существующим переменным:
set myWeight to myWeight + 23 |
... свойства изменения или элементы объектов, такие как списки:
set intList to {1, 2, 3} |
set item 3 of intList to 42 |
... или определенные с помощью приложения объекты:
tell application "Finder" to set name of startup disk to "Happy Fun Ball" |
Как упомянуто в Обсуждении, устанавливая одну переменную в другого заставляет обе переменные относиться к тому же самому объекту. Если объект является непостоянным, т.е. он имеет перезаписываемые свойства или элементы, изменения в объекте появятся в обеих переменных:
set alpha to {1, 2, {"a", "b"}} |
set beta to alpha |
set item 2 of item 3 of alpha to "change" --change the original variable |
set item 1 of beta to 42 --change a different item in the new variable |
{alpha, beta} |
--result: {{42, 2, {"a", "change"}}, {42, 2, {"a", "change"}}} |
Обе переменные показывают те же изменения, потому что они оба обращаются к тому же объекту. Сравните это с подобным примером в copy. Присвоение нового объекта к переменной не является той же вещью как изменение самого объекта и не влияет ни на какие другие переменные, относящиеся к тому же объекту. Например:
set alpha to {1, 2, 3} |
set beta to alpha --result: beta refers to the same object as alpha |
set alpha to {4, 5, 6} |
--result: assigns a new object to alpha; this does not affect beta. |
{alpha, beta} |
--result: {{4, 5, 6}, {1, 2, 3}} |
set может присвоить несколько переменных сразу с помощью образца, который может быть списком или записью. Например:
tell application "Finder" to set {x, y} to position of front window |
С тех пор position of front window оценивает к списку двух целых чисел, это устанавливает x к первому элементу в списке и y к второму элементу.
Можно думать о присвоении образца как о сокращении для серии простых присвоений, но это не совсем точно, потому что присвоения эффективно одновременны. Это означает, что можно использовать присвоение образца для обмена двумя переменными:
set {x, y} to {1, 2} --now x is 1, and y is 2. |
set {x, y} to {y, x} --now x is 2, and y is 1. |
Для выполнения второго оператора с помощью только простые присвоения Вам была бы нужна временная третья переменная.
Для получения дополнительной информации об использовании команды набора, включая более сложный пример образца, посмотрите Объявление Переменных с Командой набора.
Обсуждение
Используя set команда для присвоения значения переменной заставляет переменную относиться к исходному значению. В некотором смысле это создает новое имя для того же объекта. Если многократные переменные относятся к непостоянному объекту (т.е. один с перезаписываемыми свойствами или элементами, такими как список или script объект), изменения в объекте заметны через любую из переменных. Если Вы хотите отдельную копию, используйте copy команда. Это совместное использование только применяется к значениям в самом AppleScript; это не применяется к значениям в других приложениях. Изменение объекта, к которому относится переменная, не является тем же как изменением самого объекта и не влияет на другие переменные, относящиеся к тому же объекту.
Устанавливает длину файла, в байтах.
Синтаксис
set eof | fileSpecifier | требуемый | |
to | целое число | требуемый | |
Параметры
Файл для установки длины, как псевдоним, спецификатор файла, или как целочисленный дескриптор файла, который должен быть получен как результат более раннего
open for accessвызвать.Новая длина файла, в байтах. Если новая длина короче, чем существующая длина файла, какие-либо данные кроме того, позиция потеряна. Если новая длина более длительна, содержание новых байтов является неуказанным.
to целое числоРезультат
Ни один.
Если файл был открыт с помощью, сигнализирует “ошибку” разрешения записи open for access без разрешения записи.
Примеры
Если Вы хотите полностью заменить содержание существующего файла, первый шаг должен быть должен изменить свою длину для обнуления:
set theFile to choose file with prompt "Choose a file to clobber:" |
set eof theFile to 0 |
Данные мест по буферу обмена.
Синтаксис
set the clipboard to | что-либо | требуемый | |
Параметры
Данные (любого типа) для размещения на буфере обмена.
Результат
Ни один.
Примеры
Следующий текст мест сценария на буфере обмена, затем получает текст в TextEdit с a the clipboard команда:
set the clipboard to "Important new text." |
tell application "TextEdit" |
activate --make sure TextEdit is running |
set clipText to the clipboard --result: "Important new text." |
--perform operations with retrieved text |
end tell |
Обсуждение
Не необходимо использовать буфер обмена для перемещения данных между scriptable приложениями. Вы можете просто get данные из первого приложения в переменную и set надлежащие данные во втором приложении.
Устанавливает звуковой вывод, ввод и предупредительные объемы.
Синтаксис
set volume | требуемый | ||
| число | дополнительный | |
output volume | целое число | дополнительный | |
input volume | целое число | дополнительный | |
alert volume | целое число | дополнительный | |
output muted | булевская переменная | дополнительный | |
Параметры
Объем звукового вывода, вещественное число от 0 до 7.
Объем звукового вывода, целое число от 0 до 100.
- Значение по умолчанию:
Ни один; выходной объем не изменяется.
Звуковой входной объем, целое число от 0 до 100.
- Значение по умолчанию:
Ни один; входной объем не изменяется.
Предупредительный входной объем, целое число от 0 до 100.
- Значение по умолчанию:
Ни один; предупредительный объем не изменяется.
Звуковой вывод должен быть отключен звук?
- Значение по умолчанию:
Ни один; выходное отключение звука не изменяется.
output volume целое числоinput volume целое числоalert volume целое числоoutput muted булевская переменнаяРезультат
Ни один.
Примеры
Следующий пример сохраняет текущие параметры громкости, прежде, чем увеличить выходной объем, говоря некоторый текст, и восстанавливая исходное значение:
set savedSettings to get volume settings |
-- {output volume:32, input volume:70, alert volume:78, output muted:false} |
set volume output volume 90 |
say "This is pretty loud." |
set volume output volume (output volume of savedSettings) |
delay 1 |
say "That's better." |
Хранилища a script объект в файл.
См. также run script.
Синтаксис
store script | сценарий | требуемый | |
in | fileSpecifier | дополнительный | |
replacing | replacingConstant | дополнительный | |
Параметры
scriptвозразите для хранения.aliasилиfileспецификатор, указывающий файл для храненияscriptобъект в.- Значение по умолчанию:
Ни один; стандартное Сохранение Как диалоговое окно будет представлено, чтобы позволить пользователю выбирать, где сохранить
scriptобъект. Позволить перезаписывать существующий файл? Можно указать одну из следующих констант:
yesПерезапись без выяснения.
noНикогда не перезаписывайте; сигнализируйте ошибку, если существует файл.
askПредставьте диалоговое окно, спросив пользователя, что сделать; опции являются Заменой (перезапишите файл), Отмена (сигнализируют, “пользователь отменил” ошибку), или Сохраните Как (сохраните к различному расположению).
- Значение по умолчанию:
ask
in (псевдоним | файл)replacing replacingConstantРезультат
Ни один.
Примеры
Этот пример хранит сценарий на диске, с помощью Сохранения В качестве диалогового окна для указания расположения на рабочем столе и имени storedScript. Это тогда создает псевдоним к сохраненному сценарию и выполняет его с run script:
script test |
display dialog "Test" |
end script |
store script test --specify "Leopard:Users:myUser:Desktop:storedScript" |
set localScript to alias "Leopard:Users:myUser:Desktop:storedScript" run script localScript --result: displays dialog "Test" |
store script команда хранит только содержание сценария — в этом случае, один оператор, display dialog "Test". Это не хранит начало и конечные операторы определения сценария.
Суммирует указанный текст или текстовый файл.
Синтаксис
summarize | textSpecifier | требуемый | |
in | целое число | дополнительный | |
Параметры
Число предложений желаемо в сводке.
- Значение по умолчанию:
1
in целое числоРезультат
A text объект, содержащий итоговую версию текста или файла.
Примеры
Этот пример суммирует известную Геттисбергскую речь Линкольна вниз к одному предложению — жесткое задание даже для AppleScript:
set niceSpeech to "Four score and seven years ago our fathers brought forth on this continent a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal. |
Now we are engaged in a great civil war, testing whether that nation, or any nation, so conceived and so dedicated, can long endure. We are met on a great battle-field of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this. |
But, in a larger sense, we can not dedicate—we can not consecrate—we can not hallow—this ground. The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add or detract. The world will little note, nor long remember what we say here, but it can never forget what they did here. It is for us the living, rather, to be dedicated here to the unfinished work which they who fought here have thus far so nobly advanced. It is rather for us to be here dedicated to the great task remaining before us—that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion—that we here highly resolve that these dead shall not have died in vain—that this nation, under God, shall have a new birth of freedom—and that government of the people, by the people, for the people, shall not perish from the earth." |
set greatSummary to summarize niceSpeech in 1 |
display dialog greatSummary --result: displays one inspiring sentence |
Получите переменные окружения или атрибуты этого компьютера.
Синтаксис
system attribute | атрибут | дополнительный | |
Параметры
Атрибут для тестирования: или значение Гештальта или имя переменной среды оболочки. Значения гештальта описаны в менеджере по Гештальту Референсе.
- Значение по умолчанию:
Если атрибут опущен,
system attributeвозвратит список имен всех в настоящее время определяемых переменных окружения. Для значений Гештальта, целочисленная маска, которая является поразрядной-ANDed с ответом Гештальта. Если результат является ненулевым,
system attributeвозвратыtrue, иначеfalse.Для переменных окружения проигнорирован этот параметр.
- Значение по умолчанию:
Ни один;
system attributeвозвращает исходный код ответа Гештальта.
has целое числоРезультат
Если указанный атрибут является селектором Гештальта, или код ответа Гештальта или true или false в зависимости от has параметр.
Если указанный атрибут является переменной окружения, значением той переменной или пустой строкой ("") если это не определяется.
Если никакой атрибут не предоставляется, список всех определенных переменных окружения.
Примеры
Получить текущую оболочку:
system attribute "SHELL" --result: "/bin/bash" (for example) |
Получить список всех определенных переменных окружения:
system attribute |
(* result: (for example) |
{"PATH", "TMPDIR", "SHELL", "HOME", "USER", "LOGNAME", "DISPLAY", "SSH_AUTH_SOCK", "Apple_PubSub_Socket_Render", "__CF_USER_TEXT_ENCODING", "SECURITYSESSIONID", "COMMAND_MODE"} |
*) |
Получает информацию о системе.
Синтаксис
system info | требуемый | ||
Результат
Рекордное, содержащее различную информацию о системе и текущем пользователе. Эта запись содержит следующие поля:
AppleScript version(atextобъект)Номер версии AppleScript, например,
"2.0". Это может быть полезно для тестирования на существование функций AppleScript. При сравнении номеров версий использоватьconsidering numeric stringsчтобы заставить их выдержать сравнение в числовом порядке, начиная с, стандартное лексикографическое упорядочивание рассмотрело бы"1.9"прибыть после"1.10".AppleScript Studio version(atextобъект)Номер версии AppleScript Studio, например,
"1.5".system version(atextобъект)Номер версии OS X, например,
"10.5.1".short user name(atextобъект)Краткое название текущего пользователя, например,
"hoser". Это установлено в панели Advanced Options в предпочтительной области Учетных записей, или в поле «Short Name» при создании учетной записи. Это также доступно от использования Системных событийname of current user.long user name(atextобъект)Длинное имя текущего пользователя, например,
"Random J. Hoser". Это - поле «User Name» в предпочтительной области Учетных записей, или в поле «Name» при создании учетной записи. Это также доступно от использования Системных событийfull name of current user.user ID(integer)Идентификатор пользователя текущего пользователя. Это установлено в панели Advanced Options в предпочтительной области Учетных записей.
user locale(atextобъект)Код локали текущего пользователя, например
"en_US".home directory(aliasобъект)Расположение домашней папки текущего пользователя. Это также доступно от Средства поиска
homeсвойство, или Системные событияhome folderсвойство.boot volume(atextобъект)Имя загрузочного тома, например,
"Macintosh HD". Это также доступно от использования Системных событий или Средства поискаname of startup disk.computer name(atextобъект)Имя компьютера, например
"mymac". Это - поле «Computer Name» в Совместном использовании предпочтительной области.host name(atextобъект)Имя DNS компьютера, например
"mymac.local".IPv4 address(atextобъект)Адрес IPv4 компьютера, например
"192.201.168.13".primary Ethernet address(atextобъект)MAC-адрес основного интерфейса Ethernet, например
"00:1c:63:91:4e:db".CPU type(atextобъект)Тип ЦП, например
"Intel 80486".CPU speed(integer)Тактовая частота CPU в MHz, например
2400.physical memory(integer)Сумма физического RAM, установленного в компьютере, в мегабайтах (МБ), например
2048.
Примеры
system info --result: long record of information |
Возвращает содержание буфера обмена.
Синтаксис
the clipboard | требуемый | ||
as | класс | дополнительный | |
Параметры
Тип данных желаем.
the clipboardпопытается найти что «разновидность» данных по буферу обмена; если это не будет найдено, то это попытается принудить независимо от того, что разновидность там.
as классРезультат
Данные от буфера обмена, который может иметь любой тип.
Примеры
Следующий текст мест сценария на буфере обмена, и затем добавляет содержание буфера обмена к документу frontmost TextEdit:
set the clipboard to "Add this sentence at the end." |
tell application "TextEdit" |
activate --make sure TextEdit is running |
make new paragraph at end of document 1 with data (return & the clipboard) |
end tell |
Обсуждение
Не необходимо использовать буфер обмена для перемещения данных между scriptable приложениями. Вы можете просто get данные из первого приложения в переменную и set надлежащие данные во втором приложении.
Возвращает различие между местным временем и GMT (Среднее время по Гринвичу) или Всемирное время, в секундах.
Синтаксис
time to GMT | требуемый | ||
Результат
integer число различия секунд между зоной текущего времени и Всемирное время.
Примеры
Следующий пример вычисляет разницу во времени между текущим расположением и Купертино:
set localOffset to time to GMT --local difference, in seconds |
set cupertinoOffset to -8.0 * hours |
--doesn't account for Daylight Savings; may actually be -7.0. |
set difference to (localOffset - cupertinoOffset) / hours |
display dialog ("Hours to Cupertino: " & difference) |
Данные записей к указанному файлу.
Синтаксис
write | что-либо | требуемый | |
to | fileSpecifier | требуемый | |
starting at | целое число | дополнительный | |
for | целое число | дополнительный | |
as | класс | дополнительный | |
Параметры
Данные для записи в файл. Это обычно
text, но может иметь любой тип. При считывании данных назад,readкоманда должна указать тот же тип, или результаты не определены.Файл для записи в, как псевдоним, спецификатор файла, или
integerдескриптор файла. Дескриптор файла должен быть получен как результат более раннегоopen for accessвызвать.Позиция байта в файле, чтобы начать читать из. Позиция на основе 1, таким образом,
1первый байт файла,2второе, и т.д. Отрицательные целые числа рассчитывают от конца файла, таким образом,-1последний байт,-2предпоследнее, и т.д. Константаeofпозиция сразу после последнего байта; используйте это для добавления данных к файлу.- Значение по умолчанию:
Текущий указатель файла (см.
open for access) если файл открыт, или начало файла если нет. Число байтов для записи.
- Значение по умолчанию:
Запишите все предоставленные данные.
Запишите данные как этот класс. Наиболее распространенные управляют использованием трех различных текстовых кодировок:
textилиstringОсновное текстовое кодирование, как определено предпочтительным набором языка пользователя в Международной предпочтительной панели. (Например, римлянин Mac OS для английского языка, Макджэпэнезе для японского языка, и т.д.)
Unicode textUTF-16.
«class utf8»UTF-8.
Любой другой класс возможен, например
dateилиlist, если данные будут считаны с помощью a, но обычно только полезноreadоператор, указывающий то же значение дляasпараметр.- Значение по умолчанию:
Класс данных, которыми снабжают. Посмотрите Специальные замечания.
to (псевдоним | файл | дескриптор файла)starting at (целое число | eof)for целое числоas классРезультат
Ни один. Если файл открыт, write усовершенствует указатель файла числом записанных байтов, таким образом, следующее write команда начнет писать, где закончился последний.
Сигнализирует ошибку, если файл открыт без разрешения записи, или если существует какая-либо другая проблема, предотвращающая запись в файл, такой как отсутствие дискового пространства.
Примеры
Следующий пример открывает файл с разрешением записи, создавая его, если это уже не существует, текст записей к нему, и закрывает его.
set fp to open for access file "HD:Users:myUser:NewFile" with write permission |
write "Some text. And some more text." to fp |
close access fp |
Специальные замечания
Как указано выше, write без as параметр пишет как класс данных, которыми снабжают, что означает это в AppleScript 2.0 write всегда записи text данные с помощью основного кодирования. До 2,0, string и Unicode text были отличные типы, означавшие, что это будет использовать основное кодирование для string и UTF-16 для Unicode text. Для надежных результатов при создании сценариев, которые будут работать и 2.0 и пред2.0, всегда указывайте кодирование явно с помощью as text или as Unicode text, как надлежащий.