Ошибка при замене символов applecript - PullRequest
1 голос
/ 08 апреля 2019

Я пытаюсь создать скрипт, который запускает исполняемый файл Jar в форме приложения applecript.Я не очень разбираюсь в appleScript, поэтому я в основном отказался от онлайн-фрагментов.Первая проблема, с которой я столкнулся, заключалась в том, что каталог автоматически форматировался с использованием «:» вместо косой черты (например, «usr: bin» вместо «usr / bin»), поэтому я нашел что-то, что должно заменить: на/.Это, однако, каждый раз выдает ошибку.

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

Это мой код:

tell application "Finder"
    set current_path to container of (path to me) as alias
end tell

set AppleScript's text item delimiters to ":"
set currPath to text items of current_path
set AppleScript's text item delimiters to "/"
set current_path to currPath as string
set AppleScript's text item delimiters to {""}
currPath

tell application "Terminal"
    activate
    set currentTab to do script ("cd " & current_path)
    set currentTab to do script ("java -jar Inoisulcnoc Pre-Alpha 2")
end tell

Ошибка, которую я получаю каждый раз, говорит:

error"Не удается получить каждый текстовый элемент псевдонима \"Macintosh HD: пользователи: knotsnappy: рабочий стол: Inoisulcnoc Pre-Alpha 2: \". "число -1728 из каждый текстовый элемент из псевдоним"Macintosh HD: пользователи: knotsnappy: рабочий стол: Inoisulcnoc Pre-Alpha 2:"

Как мне это исправить?

1 Ответ

1 голос
/ 08 апреля 2019

Вы захотите изменить стандартный путь на путь POSIX.

tell application "Finder"
    set current_path to (POSIX path of (container of (path to me) as alias))
end tell

tell application "Terminal"
    activate
    set currentTab to do script ("cd " & current_path)
    set currentTab to do script ("java -jar Inoisulcnoc Pre-Alpha 2")
end tell

Разделители и т. Д. Не нужны, если у вас правильный синтаксис.

...