Каждый раз, когда я хочу запустить appleScript, появляется редактор.
Есть ли способ запустить его напрямую?
Каждый раз, когда я хочу запустить appleScript, появляется редактор.
Есть ли способ запустить его напрямую?
Способ сохранения сценария оказывает большое влияние на его работу в Mac OS X. Похоже, ваш сценарий просто сохраняется как сценарий, и именно поэтому редактор сценариев открывается при каждом его открытии.
Чтобы решить проблему, откройте сценарий в редакторе AppleScript и сохраните его как приложение. Это должно к хитрости.
Шаги есть (в редакторе)
Файл> Сохранить как>, затем выберите Формат файла для приложения, затем сохраните.
При сохранении скрипта вы можете выбрать "Приложение" из выпадающего меню "Формат файла"; тогда вы сможете запустить его, и вы все равно сможете перетащить его в редактор скриптов, чтобы открыть скрипт; или вы можете выбрать Run Only, чтобы не сохранять редактируемую версию.
В качестве альтернативы, вы можете использовать команду osascript
в терминале, либо как osascript /path/to/script
либо как osascript -e "a short script here"
.
Вы также можете поместить скрипт в папку ~/Library/Scripts/Finder/ и запустить его прямо из меню Script.
Другой способ - создать Сервис в Automator, который использует команду osascript
для запуска .scpt в Finder.
(Я не использую Automator на английском языке, поэтому формулировка может быть неточной)
В поле "Запустить AppleScript" введите следующий код:
on run {input, parameters}
tell application "Finder"
--get the selected file
set selectedItem to (item 1 of (get selection))
--get location info (folder:file format)
set fileLocation to (selectedItem as alias) as string
--replace : with / with subroutine
set the semifinal to my replace_chars(fileLocation, ":", "/")
--remove Macintosh HD with subroutine
set the theFinal to my replace_chars(semifinal, "Macintosh HD", "")
end tell
do shell script "osascript " & "\"" & theFinal & "\""
return input
end run
on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace_chars
Файл> Сохранить и дать ему имя типа "Запустить AppleScript"
Теперь вы можете щелкнуть правой кнопкой мыши файл .scpt в Finder, выбрать "Запустить AppleScript" и увидеть, что ваш скрипт выполнен.
Ссылка: Источник подпрограммы - AppleScript: Основные подпрограммы