Ссылка команд

В этой главе описываются команды, доступные для выполнения действий в сценариях AppleScript. Для получения информации о том, как команды работают, видят Обзор Команд.

Команды, описанные в этой главе, доступны любому сценарию — они или встроены в язык AppleScript или добавлены к нему посредством стандартных дополнений сценариев (описанный в Сценариях Дополнений).

Таблица 7-1 перечисляет каждую команду согласно комплекту (или связанная группа) команд, к которым это принадлежит и предоставляет краткое описание. Подробные описания команды следуют за таблицей в алфавитном порядке.

  Команды Table 7-1 AppleScript

Команда

Описание

Комплект AppleScript

активироваться

Выявляет приложение и открывает его, если это находится на локальном компьютере и не уже выполнении.

журнал

В Редакторе сценариев, выводит на экран значение в конечном счете окно Log History или в конечном счете область Log окна сценария.

Комплект Команд буфера обмена

информация буфера обмена

Информация о возвратах о буфере обмена.

установите буфер обмена в

Данные мест по буферу обмена.

буфер обмена

Возвращает содержание буфера обмена.

Комплект Команд файла

информация для

Информация о возвратах для файла или папки.

диски списка

Возвращает список в настоящее время монтируемых объемов.

Осуждаемое использование tell application "System Events" to get the name of every disk.

папка списка

Возвращает содержание указанной папки.

Осуждаемое использование tell application "System Events" to get the name of every disk item of ....

смонтируйте объем

Монтирует указанный объем AppleShare.

соедините каналом к (приложению)

Возвращает полный путь указанному приложению.

соедините каналом к (папке)

Возвращает полный путь указанной папке.

соедините каналом к ресурсу

Возвращает полный путь указанному ресурсу.

Комплект Чтения-записи файла

близкий доступ

Закрывает файл, открытый для доступа.

получите eof

Возвращает длину, в байтах, файла.

открытый для доступа

Открывает дисковый файл для read и write команды.

читать

Считывает данные из файла, открытого для доступа.

набор eof

Устанавливает длину, в байтах, файла.

записать

Данные записей к файлу, открытому для доступа с разрешением записи.

Интернет-комплект

открытое расположение

Открывает URL с надлежащей программой.

Разный комплект Команд

текущая дата

Возвращает текущую дату и время.

сделайте сценарий оболочки

Выполняет сценарий оболочки с помощью sh оболочка.

получите параметры громкости

Возвращает параметры громкости звукового вывода и ввода.

случайное число

Генерирует случайное число.

вокруг

Округляет число к целому числу.

регулируйте громкость

Регулирует громкость звукового вывода и/или ввода.

системный атрибут

Получает переменные окружения или атрибуты этого компьютера.

системная информация

Информация о возвратах о системе.

время к GMT

Возвращает различие между местным временем и GMT (Всемирное время).

Сценарии комплекта

сценарий загрузки

Возвраты a script объект загрузился от файла.

выполненный сценарий

Выполняет файл сценария или сценария

сценарии компонентов

Возвращает список всех компонентов сценариев.

сценарий хранилища

Хранилища a script объект в файл.

Стандартный комплект

копия

Копии одно или более значений в переменные.

количество

Считает число элементов в объекте.

добраться

Возвращает значение выражения сценария или объекта приложения.

запуск

Запускает указанное приложение, не отправляя ему a run команда.

выполненный

Для приложения, запуски это. Для приложения сценария, запуски это и отправляет его run команда. Для объекта сценария сценария, выполняет run обработчик.

набор

Присваивает одно или более значений одному или более объектам переменных сценария или объектам приложения.

Строковый комплект Команд

Символ ASCII

Преобразовывает число в символ.

Осуждаемый запуск в AppleScript 2.0. Используйте id свойство text класс вместо этого.

Число ASCII

Преобразовывает символ в его числовое значение.

Осуждаемый запуск в AppleScript 2.0. Используйте id свойство text класс вместо этого.

локализованная строка

Возвращает локализованную строку для указанного ключа.

смещение

Находит одну часть текста в другом.

подвести итог

Суммирует указанный текст или текстовый файл.

Комплект Взаимодействия с пользователем

звуковой сигнал

Звуковые сигналы один или несколько раз.

выберите приложение

Позволяет пользователю выбирать приложение.

выберите цвет

Позволяет пользователю выбирать цвет.

выбрать файл

Позволяет пользователю выбирать файл.

выберите имя файла

Позволяет пользователю указывать новую ссылку на файл.

выберите папку

Позволяет пользователю выбирать папку.

выберите из списка

Позволяет пользователю выбирать один или несколько элементов из списка.

выберите удаленное приложение

Позволяет пользователю выбирать запущенное приложение на удаленной машине.

выберите URL

Позволяет пользователю указывать URL.

задержка

Паузы для фиксированного количества времени.

предупреждение дисплея

Выводит на экран предупреждение.

диалоговое окно дисплея

Выводит на экран диалоговое окно, дополнительно запрашивая ввод данных пользователем.

уведомление дисплея

Выводит на экран уведомление.

сказать

Говорит указанный текст.

активироваться

Выявляет приложение, запуская его при необходимости.

Синтаксис
activateприложениетребуемый
Параметры
приложение

Приложение для активации.

Результат

Ни один.

Примеры
activate application "TextEdit"
tell application "TextEdit" to activate
Обсуждение

activate команда не запускает приложения на удаленных машинах. Для примеров других способов указать приложение, посмотрите application класс и Удаленные приложения.

Символ ASCII

Возвращает символ для конкретного количества.

Синтаксис
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

Возвращает число, связанное с указанным символом.

Синтаксис
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классдополнительный
Параметры
with title текст

Текст заголовка для диалогового окна.

Значение по умолчанию:

"Choose Application"

with prompt текст

Подсказка, которая будет выведена на экран в диалоговом окне.

Значение по умолчанию:

"Select an application:"

multiple selections allowed булевская переменная

Позволить многократным элементам быть выбранными? Если true, даже если будет точно один элемент, результаты будут возвращены в списке.

Значение по умолчанию:

false

as класс (приложение | псевдоним)

Указывает желаемый класс результата. Если указано, значение должно быть одним из application или alias.

Значение по умолчанию:

application

Результат

Выбранное приложение, как любой 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дополнительный
Параметры
default color Цвет RGB

Цвет для показа, когда сначала открыто диалоговое окно палитры цветов.

Значение по умолчанию:

{0, 0, 0}: черный.

Результат

Выбранный цвет, представленный как список трех целых чисел от 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
выбрать файл

Позволяет пользователю выбирать файл.

Синтаксис
choose fileтребуемый
with promptтекстдополнительный
of typeсписок текстадополнительный
default locationпсевдонимдополнительный
invisiblesбулевская переменнаядополнительный
multiple selections allowedбулевская переменнаядополнительный
showing package contentsбулевская переменнаядополнительный
Параметры
with prompt текст

Подсказка, которая будет выведена на экран в диалоговом окне.

Значение по умолчанию:

Ни один; никакая подсказка не выведена на экран.

of type список текста

Список Универсальных Идентификаторов типов (UTIs); например, {"public.html", "public.rtf"}. Только файлы указанных типов можно выбрать. Для списка определенного с помощью системы UTIs см. Универсальный Обзор Идентификаторов типов. Для получения UTI для определенного файла использовать info for.

Примечание: Коды типа файла с четырьмя символами, такой как "PICT" или "MooV", также поддерживаются, но осуждаются. Для получения кода типа файла для определенного файла использовать info for.

Значение по умолчанию:

Ни один; любой файл может быть выбран.

default location псевдоним

Папка, чтобы начать просматривать в.

Значение по умолчанию:

Просмотр начинается в последнем выбранном расположении, или, если это - первый вызов в пользователе Documents папка.

invisibles булевская переменная

Показать невидимые файлы и папки?

Значение по умолчанию:

true: Это только по историческим причинам совместимости. Если у Вас нет определенной потребности выбрать невидимые файлы, необходимо всегда использовать invisibles false.

multiple selections allowed булевская переменная

Позволить многократным элементам быть выбранными? Если true, даже если будет точно один элемент, результаты будут возвращены в списке.

Значение по умолчанию:

false

showing package contents булевская переменная

Показать содержание пакетов? Если true, пакеты обрабатываются как папки, так, чтобы пользователь мог выбрать файл в пакете (таком как приложение).

Значение по умолчанию:

false. Управлению содержанием пакетов обескураживают, если Вы не управляете форматом пакета или самим пакетом.

Результат

Выбранный файл, как 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псевдонимдополнительный
Параметры
with prompt текст

Подсказка, которая будет выведена на экран около вершины диалогового окна.

Значение по умолчанию:

"Specify new file name and location"

default name текст

Имя файла по умолчанию.

Значение по умолчанию:

"untitled"

default location псевдоним

Расположение файла по умолчанию. Посмотрите choose file для примеров.

Значение по умолчанию:

Просмотр запускается в последнем расположении, в котором поиск был сделан или, если это - первый вызов в пользователе Documents папка.

Результат

Выбранное расположение, как 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 предлагает выбор замены выбранного элемента. Однако желание заменить фактически не заменяет элемент.

выберите папку

Позволяет пользователю выбирать каталог, такой как папка или диск.

Синтаксис
choose folderтребуемый
with promptтекстдополнительный
default locationпсевдонимдополнительный
invisiblesбулевская переменнаядополнительный
multiple selections allowedбулевская переменнаядополнительный
showing package contentsбулевская переменнаядополнительный
Параметры
with prompt текст

Подсказка, которая будет выведена на экран в диалоговом окне.

Значение по умолчанию:

Ни один; никакая подсказка не выведена на экран.

default location псевдоним

Папка, чтобы начать просматривать в.

Значение по умолчанию:

Просмотр начинается в последнем выбранном расположении, или, если это - первый вызов в пользователе Documents папка.

invisibles булевская переменная

Показать невидимые папки?

Значение по умолчанию:

false

multiple selections allowed булевская переменная

Позволить многократным элементам быть выбранными? Если true, даже если будет точно один элемент, результаты будут возвращены в списке.

Значение по умолчанию:

false

showing package contents булевская переменная

Показать содержание пакетов? Если true, пакеты обрабатываются как папки, так, чтобы пользователь мог выбрать папку пакета, такую как приложение или папка в пакете.

Значение по умолчанию:

false. Управлению содержанием пакетов обескураживают, если Вы не управляете форматом пакета или самим пакетом.

Результат

Выбранный каталог, как 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/'"
выберите из списка

Позволяет пользователю выбирать элементы из списка.

Синтаксис
choose from listсписоктребуемый
with titleтекстдополнительный
with promptтекстдополнительный
default itemsсписокдополнительный
OK button nameтекстдополнительный
cancel button nameтекстдополнительный
multiple selections allowedбулевская переменнаядополнительный
empty selection allowedбулевская переменнаядополнительный
Параметры
список (числа или текста)

Список чисел и/или text объекты для пользователя выбрать из.

with title текст

Текст заголовка для диалогового окна.

Значение по умолчанию:

Ни один; никакой заголовок не выведен на экран.

with prompt текст

Подсказка, которая будет выведена на экран в диалоговом окне.

Значение по умолчанию:

"Please make your selection:"

default items список (числа или текста)

Список чисел и/или text объекты, которые будут первоначально выбраны. Список не может включать многократные элементы, если Вы также не указываете multiple selections allowed true. Если элемент в списке элементов по умолчанию не находится в списке для выбора из, это проигнорировано.

Значение по умолчанию:

Ни один; никакие элементы не выбраны.

OK button name текст

Имя кнопки OK.

Значение по умолчанию:

"OK"

cancel button name текст

Имя Кнопки отмены.

Значение по умолчанию:

"Cancel"

multiple selections allowed булевская переменная

Позволить многократным элементам быть выбранными?

Значение по умолчанию:

false

empty selection allowed булевская переменная

Позволить пользователю выбирать OK без выбранных элементов? Если false, кнопка OK не будет включена, если не будет выбран по крайней мере один элемент.

Значение по умолчанию:

false

Результат

Если пользователь щелкает по кнопке 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текстдополнительный
Параметры
with title текст

Текст заголовка для choose remote application диалоговое окно.

Значение по умолчанию:

Ни один; никакой заголовок не выведен на экран.

with prompt текст

Подсказка, которая будет выведена на экран в диалоговом окне.

Значение по умолчанию:

"Select an application:"

Результат

Выбранное приложение, как application объект.

Сигнализирует, что “пользователь отменил” ошибку, если пользователь отменяет диалоговое окно. Для примера того, как обработать такие ошибки, посмотрите Операторы попытки.

Примеры
set myApp to choose remote application with prompt "Choose a remote web browser:"
Обсуждение

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

Для получения информации о предназначении для других машин посмотрите Удаленные приложения.

выберите URL

Позволяет пользователю указывать URL.

Синтаксис
choose URLтребуемый
showinglistOfServiceTypesOrTextStringsдополнительный
editable URLбулевская переменнаядополнительный
Параметры
showing список (типов службы или текста)

Список, указывающий типы служб для показа при наличии. Список может содержать один или больше следующих типов службы, включая всех правопреемников 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

editable URL булевская переменная

Позволить пользователю вводить в URL? Если Вы указываете editable URL false, текстовое поле в диалоговом окне неактивно.

choose URL не пытается проверить, что вводимым пользователем текстом является допустимый URL. Ваш сценарий должен быть подготовлен проверить возвращенное значение.

Значение по умолчанию:

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

Результат

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 accessfileSpecifierтребуемый
Параметры
(псевдоним | файл | дескриптор файла)

Псевдоним или спецификатор файла или целочисленный дескриптор файла файла для закрытия. Дескриптор файла должен быть получен как результат более раннего 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выражениетребуемый
tovariablePatternтребуемый
Параметры
выражение

Выражение, значение которого должно быть скопировано.

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)выражениетребуемый
Параметры
выражение

Выражение, оценивающее к объекту с элементами, такими как a list, record, или определенный с помощью приложения контейнерный объект. count будет считать содержавшие элементы.

Результат

Число элементов, как 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 не подходит для задач в реальном времени, таких как синхронизация аудио-видео.

предупреждение дисплея

Выводит на экран стандартизированное предупреждение, содержащее сообщение, объяснение, и от одной до трех кнопок.

Синтаксис
display alertтексттребуемый
messageтекстдополнительный
asalertTypeдополнительный
buttonsсписокдополнительный
default buttonbuttonSpecifierдополнительный
cancel buttonbuttonSpecifierдополнительный
giving up afterцелое числодополнительный
Параметры
текст

Предупредительный текст, выведенный на экран в подчеркнутом системном шрифте.

message текст

Объяснительное сообщение, выведенное на экран в маленьком системном шрифте ниже предупредительного текста.

as alertType

Тип предупреждения для показа. Можно указать один из следующих предупредительных типов:

  • informational: стандартное предупредительное диалоговое окно

  • warning: предупредительное диалоговое диалоговое окно под маркой со значком предупреждения

  • critical: в настоящее время то же как стандартное предупредительное диалоговое окно

Значение по умолчанию:

informational

buttons список (текста)

Список до трех имен кнопки.

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

Значение по умолчанию:

{"OK"}: Одна кнопка маркировала «OK», который является кнопкой по умолчанию.

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, в котором пользователь может ввести текст.

Синтаксис
display dialogтексттребуемый
default answerтекстдополнительный
hidden answerбулевская переменнаядополнительный
buttonsсписокдополнительный
default buttonlabelSpecifierдополнительный
cancel buttonlabelSpecifierдополнительный
with titleтекстдополнительный
with iconresourceSpecifierдополнительный
with iconiconTypeSpecifierдополнительный
with iconfileSpecifierдополнительный
giving up afterцелое числодополнительный
Параметры
текст

Диалоговый текст, выведенный на экран в подчеркнутом системном шрифте.

default answer текст

Начальное содержание доступного для редактирования текстового поля. Это поле редактирования не присутствует, если не присутствует этот параметр; чтобы иметь полевое настоящее, но очистить, укажите пустую строку: default answer ""

Значение по умолчанию:

Ни один; нет никакого поля редактирования.

hidden answer булевская переменная

Если это правда, любой текст в поле редактирования затенен как в диалоговом окне пароля: каждый символ выведен на экран как маркер.

Значение по умолчанию:

false: текст в поле редактирования показан в открытом тексте.

buttons список (текста)

Список до трех имен кнопки.

Значение по умолчанию:

Если Вы не указываете кнопок, по умолчанию, Отмена и кнопки OK показаны с набором кнопки OK как кнопка по умолчанию.

При указании каких-либо кнопок нет никакого значения по умолчанию или кнопки отмены, если Вы не используете следующие параметры для указания их.

default button (текст | целое число)

Имя или число кнопки по умолчанию. Если пользователь нажимает Return или клавишу Enter, эта кнопка выделяется и будет нажата.

Значение по умолчанию:

Если нет указанного использования никаких кнопок buttons, кнопка OK. Иначе, нет никакой кнопки по умолчанию.

cancel button (текст | целое число)

Имя или число кнопки отмены. Если пользователь нажмет Клавишу выхода или Период команды, эта кнопка будет нажата.

Значение по умолчанию:

Если нет указанного использования никаких кнопок buttons, Кнопка отмены. Иначе, нет никакой кнопки отмены.

with title текст

Заголовок диалогового окна.

Значение по умолчанию:

Ни один; никакой заголовок не выведен на экран.

with icon (текст | целое число)

Имя ресурса или ID значка для отображения.

with icon (остановитесь | примечание | предостережение),

Тип значка для показа. Можно указать одну из следующих констант:

  • stop (или 0): Показывает значок остановки

  • note (или 1): Показывает значок приложения

  • caution (или 2): Показывает значок предупреждения, под маркой со значком приложения

with icon (псевдоним | файл)

alias или file спецификатор, указывающий a .icns файл.

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текстдополнительный
Параметры
текст

Основной текст уведомления. По крайней мере одно из этого и заголовка должно быть указано.

with title текст

Заголовок уведомления. По крайней мере одно из этого и основного текста должно быть указано.

subtitle текст

Подзаголовок уведомления.

sound name текст

Имя звука для игры, когда появляется уведомление. Это может быть базовым именем любого звука, установленного в Library/Sounds.

Результат

Ни один.

Примеры
display notification "Encoding complete" subtitle "The encoded files are in the folder " & folderName
Обсуждение

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

сделайте сценарий оболочки

Выполняет сценарий оболочки с помощью sh оболочка.

Синтаксис
do shell scriptтексттребуемый
asклассдополнительный
administrator privilegesбулевская переменнаядополнительный
user nameтекстдополнительный
passwordтекстдополнительный
altering line endingsбулевская переменнаядополнительный
Параметры
текст

Сценарий оболочки для выполнения.

as класс

Указывает желаемый тип результата. Необработанные байты, возвращенные командой, будут интерпретироваться как указанный класс.

Значение по умолчанию:

«class utf8»: Текст UTF-8. Если будет не как параметр, и вывод не является допустимым UTF-8, то вывод будет интерпретироваться как текст в основном кодировании.

administrator privileges булевская переменная

Выполнить команду как администратора? Как только сценарий правильно аутентифицируется, он не попросит аутентификацию снова в течение пяти минут. Поднятые полномочия и льготный период не расширяются ни на какие другие сценарии или на остальную часть системы. Для соображений безопасности Вы не можете сказать другое приложение do shell script with administrator privileges. Поместите команду за пределами любого tell блок, или вставленный это a tell me блок.

Значение по умолчанию:

false

user name текст

Имя учетной записи администратора. Можно избежать диалогового окна пароля путем указания имени в этом параметре и пароля в password параметр. При указании имени пользователя необходимо также указать пароль.

password текст

Пароль администратора, обычно используемый в сочетании с администратором, указанным user name параметр. Если user name опущен, это, как предполагается, текущий пользователь.

altering line endings булевская переменная

Если do shell script изменение команды все окончания строки в выводе команды к стилю Mac и обрезке запаздывающая? Например, результат do shell script "echo foo; echo bar" "foo\rbar", не "foo\nbar\n" то, что фактически возвратился сценарий оболочки.

Значение по умолчанию:

true

Результат

Вывод сценария оболочки.

Если сценарий оболочки выходит с ненулевым состоянием, сигнализирует ошибку. Код ошибки будет состоянием, сообщение об ошибке будет содержанием stderr.

Примеры
do shell script "uptime"
Обсуждение

Для дополнительной документации и примеров do shell script команда, посмотрите Техническое примечание TN2065, сделайте сценарий оболочки в AppleScript.

добраться

Оценивает объектный спецификатор и возвращает результат.

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

Синтаксис
getспецификатортребуемый
 asклассдополнительный
Параметры
спецификатор

Объектный спецификатор, который будет оценен. Если спецификатор относится к определенному с помощью приложения объекту, get команда отправляется в то приложение. Технически, все значения отвечают на get, но для всех значений кроме объектных спецификаторов, get работа идентификационных данных: результатом является то же самое значение.

as класс

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

Значение по умолчанию:

Ни один; никакое приведение не выполняется.

Результат

Значение оцененного выражения. Посмотрите Ссылочные Формы для подробных данных о том, каковы результаты оценки различных объектных спецификаторов.

Примеры

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.

Для получения дополнительной информации о спецификаторах посмотрите Объектные Спецификаторы.

получите eof

Возвращает длину файла, в байтах.

Синтаксис
get eoffileSpecifierтребуемый
Параметры
(псевдоним | файл | дескриптор файла)

Файл для получения длины для, как псевдоним, спецификатор файла, или 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 (a boolean)

Вывод отключен звук? Если это правда, это переопределяет вывод и предупредительные объемы.

Примеры
set volSettings to get volume settings
--result: {output volume:43, input volume:35, alert volume:78, output muted:false}
информация для

Возвратите информацию для файла или папки.

Синтаксис
info forfileSpecifierтребуемый
sizeбулевская переменнаядополнительный
Параметры
(псевдоним | файл)

Псевдоним или спецификатор файла для файла или папки.

size булевская переменная

Возвратить размер файла или папки? Для файла его «размер» является его длиной в байтах; для папки это - сумма размеров всех файлов, которые содержит папка.

Значение по умолчанию:

true: Поскольку получение размера папки требует получения размеров всех файлов в нем, size true может занять много времени для больших папок такой как /System. Если Вы не нуждаетесь в размере, просите не получать его использование size false. Также предназначайтесь для Средства поиска или приложений Системных событий для выяснения определенные свойства, которые Вы хотите.

Результат

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

name (a text объект)

Полное имя элемента, как это появляется в файловой системе. Это всегда включает расширение, если таковые имеются. Например, "OmniOutliner Professional.app".

displayed name (a text объект)

Имя элемента, как это появляется в Средстве поиска. Это может отличаться, чем name если элемент имеет локализованное имя, если расширение скрыто или. Например, "OmniOutliner Professional".

short name (a text объект, только приложения)

Приложение CFBundleName, когда приложение активно, который является именем, выведенным на экран в строке меню. Это часто, но не всегда, то же как выведенное на экран имя. Например, "OmniOutliner Pro".

name extension (a text объект)

Дополнительная часть названия товара. Например, расширение имени файла “foo.txt"txt".

bundle identifier (a text объект)

Идентификатор пакета пакета. Если пакет является приложением, это - приложение id.

type identifier (a text объект)

Тип элемента, как Uniform Type Identifier (UTI). Это - предпочтительная форма для идентификации типов изделия и может использоваться с choose file.

kind (a text объект)

Тип элемента, как выведено на экран в Средстве поиска. Это может быть локализовано и должно только использоваться в целях дисплея.

default application ( alias объект)

Приложение, которое откроет этот элемент.

creation date (a date объект)

Дата элемент создавалась.

modification date (a date объект)

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

file type (a text объект)

Тип элемента, как четыре кода символа. Это - классический эквивалент идентификатора типа, но менее точный и более твердый интерпретировать; использовать type identifier если это возможно.

file creator (a text объект)

Код создателя элемента с четырьмя символами. Для приложений это - классический эквивалент идентификатора пакета и будет работать на ссылку на приложение ID. Для файлов это может использоваться для выведения приложения по умолчанию, но не надежно; использовать default application если это возможно.

short version (a text объект)

Строка короткой версии элемента, как это появляется в окне «Get Info» Средства поиска. Любой элемент может иметь этот атрибут, но обычно только приложения делают.

long version (a text объект)

Долгая строка версии элемента, как это появляется в окне «Get Info» Средства поиска. Любой элемент может иметь этот атрибут, но обычно только приложения делают.

size ( integer)

Размер элемента, в байтах. Для получения дополнительной информации посмотрите size параметр.

alias (a boolean)

Действительно ли элемент является файлом псевдонима?

folder (a boolean)

Действительно ли элемент является папкой? Это - истина для пакетов, таких как пакеты приложений, а также нормальные папки.

package folder (a boolean)

Действительно ли элемент является папкой пакета, такой как приложение? Папка пакета появляется в Средстве поиска, как будто это - файл.

extension hidden (a boolean)

Имя действительно ли элемента является скрытым расширением?

visible (a boolean)

Действительно ли элемент видим? Как правило, только специальные системные файлы невидимы.

locked (a boolean)

Элемент заблокирован?

busy status (a boolean)

Действительно ли элемент используется в настоящее время?

Если 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 folderfileSpecifierтребуемый
invisiblesбулевская переменнаядополнительный
Параметры
(псевдоним | файл)

Указывает папку для перечисления.

invisibles булевская переменная

Показать невидимые файлы и папки?

Значение по умолчанию:

true

Результат

A list из text объекты, один для каждого элемента в указанной папке.

сценарий загрузки

Возвраты a script объект загрузился от указанного файла.

Синтаксис
load scriptfileSpecifierтребуемый
Параметры
(псевдоним | файл)

alias или file спецификатор, указывающий a script объект. Файл должен быть скомпилированным сценарием (с расширением scpt) или пакет сценария (с расширением scptd).

Результат

script объект. Можно получить свойства этого объекта или вызвать его обработчики, как будто это была локальная переменная script объект.

Примеры

Для примеров посмотрите Сохранение и Загрузку Библиотек Обработчиков в приблизительно Обработчиках.

локализованная строка

Возвращает локализованный текст для указанного ключа.

Синтаксис
localized stringтексттребуемый
from tableтекстдополнительный
in bundlefileSpecifierдополнительный
Параметры
текст

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

from table текст

Имя строкового файла, исключая .strings суффикс.

Значение по умолчанию:

"Localizable"

in bundle (псевдоним | файл)

alias или file спецификатор, указывающий строковый файл.

Значение по умолчанию:

Текущий сценарий связывается для основанного на документе сценария (a scptd пакет); иначе, текущее приложение.

Результат

A text объект, содержащий локализованный текст или исходный ключ, если нет никакого локализованного текста для того ключа.

Примеры

Для localized string чтобы быть полезными, необходимо создать данные локализованной строки для него для использования:

  1. Сохраните свой сценарий как пакет сценария или комплект приложений.

  2. Создать lproj папки в Resources каталог пакета для каждой локализации: например, English.lproj, French.lproj. Создайте названные файлы Localized.strings в каждом. Когда Вы сделаны, структура папок должна быть похожей на это:

      Структура Пакета рисунка 7-1 с данными локализованной строки
    Bundle structure with localized string data
  3. Добавьте пары ключ/значение к каждому файлу Локэлизед.стрингса. Каждая пара является строкой текста "ключ" = "значение";, например:

      Пара ключ/значение рисунка 7-2 для данных локализованной строки
    Key/value pair for localized string data

Теперь 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/) из объема для монтирования.

on server текст

Сервер, на котором находится объем; опустите, если путь URL обеспечил в прямом параметре.

in AppleTalk zone текст

Зона AppleTalk, в которой находится сервер; опустите, если обеспечил путь URL.

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тексттребуемый
Параметры
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 accessfileSpecifierтребуемый
write permissionбулевская переменнаядополнительный
Параметры
(псевдоним | файл)

alias или file спецификатор, указывающий файл для открытия. Если файл существует, можно только использовать псевдоним.

write permission булевская переменная

Должен запись в файл быть позволенной?

Значение по умолчанию:

false: write и set eof команды на этом файле перестанут работать с ошибкой.

Результат

Дескриптор файла, как 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 application

frontmost приложение.

me

Сам сценарий. Для приложений сценария это совпадает с current application, но для документов сценария, это - расположение документа.

Примечание: Некоторые более старые приложения могут обработать me тождественно к current application.

it

Приложение текущей цели.

Значение по умолчанию:

it

as класс (псевдоним | текст)

Класс возвращенного расположения. Если указано, должен быть один из alias или text.

Значение по умолчанию:

псевдоним

Результат

Расположение указанного приложения, как любой 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
from доменная константа

Домен, в котором можно искать указанную папку. Можно указать один из следующих доменов:

system domain

Папка в /System.

local domain

Папка в /Library.

network domain

Папка в /Network.

user domain

Папка в ~, домашняя папка пользователя.

Classic domain

Папка в Классической системной папке Mac OS. Только значимый в системах та Классика поддержки.

Значение по умолчанию:

Домен по умолчанию для указанной папки. Это варьируется в зависимости от папки.

as класс (псевдоним | текст)

Класс возвращенного расположения.

Значение по умолчанию:

псевдоним

folder creation булевская переменная

Создайте папку, если она не существует? Ваш сценарий может не иметь разрешения создать папку (например, прося создавать что-то в системном домене), таким образом, Ваш сценарий должен быть подготовлен к той ошибке.

Значение по умолчанию:

true

Результат

Расположение указанной папки, как любой 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 bundlefileSpecifierдополнительный
in directoryтекстдополнительный
Параметры
текст

Имя требуемого ресурса.

in bundle (псевдоним | файл)

alias или file спецификатор, указывающий пакет, содержащий ресурс.

Значение по умолчанию:

Текущий сценарий связывается для основанного на документе сценария (a scptd пакет); иначе, текущее приложение.

in directory текст

Имя подкаталога в пакете Resources каталог.

Результат

Расположение указанного ресурса, как 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числодополнительный
Параметры
from число

Самое низкое число для возврата. Может быть отрицательным.

Значение по умолчанию:

0.0

to число

Самое большое количество для возврата. Может быть отрицательным.

Значение по умолчанию:

1.0

with seed целое число

Начальное семя для генератора случайных чисел. После того, как вызванный с любым определенным значением семени, random number будет всегда генерировать ту же последовательность чисел. Когда тестирование рандомизировало алгоритмы, это может быть полезно: можно вынудить его вести себя тот же путь каждый раз.

Результат

Число между from и to пределы, включая предельные значения. В зависимости от предельных значений результатом может быть целое число или реальное. Если по крайней мере один предел указан, и все указанные пределы являются целыми числами, результатом является целое число. Иначе, результат является реальным, и может иметь дробную часть.

Примеры
random number  --result: 0.639215561057
random number from 1 to 10  --result: 8
Обсуждение

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

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

Если необходимо выбрать один из ряда объектов в отношении, использовать some объект, а не объект (random number from 1 to count объекты). Дополнительную информацию см. в Произвольной ссылочной форме.

читать

Считывает данные из файла.

Синтаксис
readfileSpecifierтребуемый
fromцелое числодополнительный
forцелое числодополнительный
toцелое числодополнительный
beforeтекстдополнительный
untilтекстдополнительный
using delimitersтекстдополнительный
asклассдополнительный
Параметры
(псевдоним | файл | дескриптор файла)

Файл для чтения из, как псевдоним, спецификатор файла, или integer дескриптор файла. Дескриптор файла должен быть получен как результат более раннего open for access вызвать.

from целое число

Позиция байта в файле, чтобы начать читать из. Позиция на основе 1, таким образом, 1 первый байт файла, 2 второе, и т.д. Отрицательные целые числа рассчитывают от конца файла, таким образом, -1 последний байт, -2 предпоследнее, и т.д.

Значение по умолчанию:

Текущий указатель файла (см. open for access) если файл открыт, или начало файла если нет.

for целое число

Число байтов для чтения.

Значение по умолчанию:

Читайте до конца файла.

to (целое число | eof)

Прекратите читать в этой позиции байта в файле; использовать eof указать последний байт. Позиция на основе 1, как from параметр.

before текст

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

until текст

Отдельный символ; читайте до и включая следующее возникновение того символа.

using delimiter текст

Разделитель, такой как вкладка или символ возврата, используемый для разделения чтения данных на список текстовых объектов. Получающиеся элементы состоят из текста между случаями текста разделителя. Разделитель считают разделителем, таким образом, продвижение или запаздывающий разделитель произведут пустую строку с другой стороны. Например, результат чтения "axbxcx" использование разделителя "x" был бы {"a", "b", "c", ""}.

Значение по умолчанию:

Ни один; read возвращает единственный элемент.

using delimiters список текста

Как using delimiter выше, но все строки в списке рассчитывают как разделители.

as класс

Интерпретируйте необработанное чтение байтов как этот класс. Наиболее распространенные управляют использованием трех различных текстовых кодировок:

text или string

Основное текстовое кодирование, как определено предпочтительным набором языка пользователя в Международной предпочтительной панели. (Например, римлянин Mac OS для английского языка, Макджэпэнезе для японского языка, и т.д.)

Unicode text

UTF-16.

«class utf8»

UTF-8. (См. Двойные Угловые скобки для получения информации о двойной угловой скобке или «необработанном» синтаксисе.)

Любой другой класс возможен, например date или list, если данные были записаны с помощью a, но обычно только полезно write оператор, указывающий то же значение для as параметр.

Значение по умолчанию:

text

Результат

Данные читают из файла. Если файл открыт, указатель файла совершенствуется числом чтения байтов, таким образом, следующее 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реальныйтребуемый
roundingroundingDirectionдополнительный
Параметры
реальный

Число к раунду.

rounding roundingDirection

Направление к раунду. Можно указать одно из следующих направлений округления:

up

Раунды к следующему самому большому целому числу. Это совпадает с математической функцией «потолка».

down

Округляет в меньшую сторону до следующего самого маленького целого числа. Это совпадает с математической функцией «пола».

toward zero

Раунды к нулю, отбрасывая любую дробную часть. Также известный как усечение.

to nearest

Раунды к самому близкому целому числу;.5 случаев округлены к самому близкому даже целое число. Например, 1,5 раунда к 2, 0,5 раунда к 0. Также известный как “несмещенное округление” или “округление банкиров”. Посмотрите Обсуждение для подробных данных.

as taught in school

Раунды к самому близкому целому числу;.5 случаев округлены далеко от нуля. Это соответствует правила, обычно преподававшиеся в элементарных классах математики.

Значение по умолчанию:

to nearest

Результат

Округленное значение, как 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 обработчик, если таковые имеются, чтобы быть выполненным. Для соответствующей информации посмотрите выполненные Обработчики.

Синтаксис
 runrunTargetдополнительный
Параметры
runTarget сценарий

A script или application объект.

Значение по умолчанию:

it (текущая цель)

Результат

Результат, если таковые имеются, возвращенный указанным объектом 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 scriptscriptTextOrFileSpecifierтребуемый
with parameterslistOfParametersдополнительный
inтекстдополнительный
Параметры
(текст | псевдоним | файл)

Текст сценария, или alias или file спецификатор, указывающий файл сценария для выполнения.

with parameters список чего-либо

Список значений параметров, которые будут переданы сценарию.

in текст

Компонент сценариев для использования.

Значение по умолчанию:

"AppleScript"

Результат

Результат сценария 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 tofileSpecifierдополнительный
Параметры
текст

Текст для разговора.

displaying текст

Текст для отображения в окне обратной связи, если отличающийся от разговорного текста. Этот параметр проигнорирован, если Распознавание речи не включено (в Установках системы).

using текст

Речь для разговора с — например: "Zarvox".

Можно использовать любую речь от Системной Речи, раскрывающейся на тексте к вкладке Speech в Речевой предпочтительной области.

Значение по умолчанию:

Речь существующей системы (набор в панели Speech в Установках системы.

waiting until completion булевская переменная

Команда должна ожидать речи для завершения перед возвратом? Этот параметр проигнорирован, если Распознавание речи не включено (в Установках системы).

Значение по умолчанию:

true

saving to (псевдоним | файл)

alias или file спецификатор к AIFF файл (существующий или не) для содержания звукового вывода. Можно только использовать alias спецификатор, если существует файл. Если этот параметр указан, звук не играется слышимо, только сохраняется к файлу.

Значение по умолчанию:

Ни один; на тексте говорят вслух, и никакой файл не сохранен.

Результат

Ни один.

Примеры
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 обеспечивает абстрактный интерфейс для приложений, чтобы скомпилировать, выполнить и управлять сценариями, не будучи должен знать подробные данные определенного языка сценариев. Каждый язык сценариев соответствует единственному компоненту сценариев.

набор

Присваивает одно или более значений одной или более переменным.

Синтаксис
 setvariablePatternтребуемый
 toвыражениедополнительный
Параметры
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; это не применяется к значениям в других приложениях. Изменение объекта, к которому относится переменная, не является тем же как изменением самого объекта и не влияет на другие переменные, относящиеся к тому же объекту.

набор eof

Устанавливает длину файла, в байтах.

Синтаксис
set eoffileSpecifierтребуемый
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.

Важный: Этот параметр осуждается; если указано, все другие параметры будут проигнорированы.

output volume целое число

Объем звукового вывода, целое число от 0 до 100.

Значение по умолчанию:

Ни один; выходной объем не изменяется.

input volume целое число

Звуковой входной объем, целое число от 0 до 100.

Значение по умолчанию:

Ни один; входной объем не изменяется.

alert volume целое число

Предупредительный входной объем, целое число от 0 до 100.

Значение по умолчанию:

Ни один; предупредительный объем не изменяется.

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сценарийтребуемый
infileSpecifierдополнительный
replacingreplacingConstantдополнительный
Параметры
сценарий

script возразите для хранения.

in (псевдоним | файл)

alias или file спецификатор, указывающий файл для хранения script объект в.

Значение по умолчанию:

Ни один; стандартное Сохранение Как диалоговое окно будет представлено, чтобы позволить пользователю выбирать, где сохранить script объект.

replacing replacingConstant

Позволить перезаписывать существующий файл? Можно указать одну из следующих констант:

yes

Перезапись без выяснения.

no

Никогда не перезаписывайте; сигнализируйте ошибку, если существует файл.

ask

Представьте диалоговое окно, спросив пользователя, что сделать; опции являются Заменой (перезапишите файл), Отмена (сигнализируют, “пользователь отменил” ошибку), или Сохраните Как (сохраните к различному расположению).

Значение по умолчанию:

ask

Результат

Ни один.

Примеры

Этот пример хранит сценарий на диске, с помощью Сохранения В качестве диалогового окна для указания расположения на рабочем столе и имени 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". Это не хранит начало и конечные операторы определения сценария.

подвести итог

Суммирует указанный текст или текстовый файл.

Синтаксис
summarizetextSpecifierтребуемый
inцелое числодополнительный
Параметры
textSpecifier

text, или alias к текстовому файлу, для суммирования.

in целое число

Число предложений желаемо в сводке.

Значение по умолчанию:

1

Результат

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 возвратит список имен всех в настоящее время определяемых переменных окружения.

has целое число

Для значений Гештальта, целочисленная маска, которая является поразрядной-ANDed с ответом Гештальта. Если результат является ненулевым, system attribute возвраты true, иначе false.

Для переменных окружения проигнорирован этот параметр.

Значение по умолчанию:

Ни один; system attribute возвращает исходный код ответа Гештальта.

Результат

Если указанный атрибут является селектором Гештальта, или код ответа Гештальта или 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 (a text объект)

Номер версии AppleScript, например, "2.0". Это может быть полезно для тестирования на существование функций AppleScript. При сравнении номеров версий использовать considering numeric strings чтобы заставить их выдержать сравнение в числовом порядке, начиная с, стандартное лексикографическое упорядочивание рассмотрело бы "1.9" прибыть после "1.10".

AppleScript Studio version (a text объект)

Номер версии AppleScript Studio, например, "1.5".

Примечание: AppleScript Studio осуждается в OS X v10.6.

system version (a text объект)

Номер версии OS X, например, "10.5.1".

short user name (a text объект)

Краткое название текущего пользователя, например, "hoser". Это установлено в панели Advanced Options в предпочтительной области Учетных записей, или в поле «Short Name» при создании учетной записи. Это также доступно от использования Системных событий name of current user.

long user name (a text объект)

Длинное имя текущего пользователя, например, "Random J. Hoser". Это - поле «User Name» в предпочтительной области Учетных записей, или в поле «Name» при создании учетной записи. Это также доступно от использования Системных событий full name of current user.

user ID ( integer)

Идентификатор пользователя текущего пользователя. Это установлено в панели Advanced Options в предпочтительной области Учетных записей.

user locale (a text объект)

Код локали текущего пользователя, например "en_US".

home directory ( alias объект)

Расположение домашней папки текущего пользователя. Это также доступно от Средства поиска home свойство, или Системные события home folder свойство.

boot volume (a text объект)

Имя загрузочного тома, например, "Macintosh HD". Это также доступно от использования Системных событий или Средства поиска name of startup disk.

computer name (a text объект)

Имя компьютера, например "mymac". Это - поле «Computer Name» в Совместном использовании предпочтительной области.

host name (a text объект)

Имя DNS компьютера, например "mymac.local".

IPv4 address (a text объект)

Адрес IPv4 компьютера, например "192.201.168.13".

primary Ethernet address (a text объект)

MAC-адрес основного интерфейса Ethernet, например "00:1c:63:91:4e:db".

CPU type (a text объект)

Тип ЦП, например "Intel 80486".

CPU speed ( integer)

Тактовая частота CPU в MHz, например 2400.

physical memory ( integer)

Сумма физического RAM, установленного в компьютере, в мегабайтах (МБ), например 2048.

Примеры
system info --result: long record of information
буфер обмена

Возвращает содержание буфера обмена.

Синтаксис
the clipboardтребуемый
asклассдополнительный
Параметры
as класс

Тип данных желаем. the clipboard попытается найти что «разновидность» данных по буферу обмена; если это не будет найдено, то это попытается принудить независимо от того, что разновидность там.

Результат

Данные от буфера обмена, который может иметь любой тип.

Примеры

Следующий текст мест сценария на буфере обмена, и затем добавляет содержание буфера обмена к документу 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

Возвращает различие между местным временем и 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что-либотребуемый
tofileSpecifierтребуемый
starting atцелое числодополнительный
forцелое числодополнительный
asклассдополнительный
Параметры
что-либо

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

to (псевдоним | файл | дескриптор файла)

Файл для записи в, как псевдоним, спецификатор файла, или integer дескриптор файла. Дескриптор файла должен быть получен как результат более раннего open for access вызвать.

starting at (целое число | eof)

Позиция байта в файле, чтобы начать читать из. Позиция на основе 1, таким образом, 1 первый байт файла, 2 второе, и т.д. Отрицательные целые числа рассчитывают от конца файла, таким образом, -1 последний байт, -2 предпоследнее, и т.д. Константа eof позиция сразу после последнего байта; используйте это для добавления данных к файлу.

Значение по умолчанию:

Текущий указатель файла (см. open for access) если файл открыт, или начало файла если нет.

for целое число

Число байтов для записи.

Значение по умолчанию:

Запишите все предоставленные данные.

as класс

Запишите данные как этот класс. Наиболее распространенные управляют использованием трех различных текстовых кодировок:

text или string

Основное текстовое кодирование, как определено предпочтительным набором языка пользователя в Международной предпочтительной панели. (Например, римлянин Mac OS для английского языка, Макджэпэнезе для японского языка, и т.д.)

Unicode text

UTF-16.

«class utf8»

UTF-8.

Любой другой класс возможен, например date или list, если данные будут считаны с помощью a, но обычно только полезно read оператор, указывающий то же значение для 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, как надлежащий.