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