Запуск нескольких Applescripts в порядке в Automator - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь автоматизировать этот процесс.

шаг 1: изменить системную дату на конкретную дату.

шаг 2: откройте приложение.

шаг 3: изменить системную дату на нормальную.

Теперь на Automator у меня есть три сценария с яблоками

enter image description here

on run {input, parameters}

tell application "Terminal"
    do script with command "sudo date 082704002018"
    activate
end tell

delay 1
tell application "System Events"

    keystroke "mypassword" & return
    delay 3

end tell

end run

on run {input, parameters}

tell application "Terminal"
    do script with command "open -a applicationName"
    activate
end tell

end run

on run {input, parameters}

tell application "Terminal"
    do script with command "sudo ntpdate -u time.apple.com"
    activate
end tell

delay 1
tell application "System Events"

    keystroke "mypassword" & return
    delay 3

end tell

end run

Проблема в том, что Automator запускает только первый код. Я не уверен, как заставить все коды работать по порядку.

Извините, если это глупый вопрос. Я совершенно новичок в автоматизации и яблочный

Спасибо

1 Ответ

0 голосов
/ 04 сентября 2018

Я не совсем уверен, почему вы решили использовать три отдельных сценария AppleScripts. Вы можете объединить их все в один AppleScript, как я сделал в следующем примере. Я не совсем уверен, почему вы использовали команды «активировать». Я не думаю, что они необходимы, поэтому я удалил эти строки кода. Во всяком случае, следующий код должен работать для вас ...

tell application "Terminal"
    do script with command "sudo date 082704002018"
end tell
delay 1
tell application "System Events"
    keystroke "mypassword" & return
    delay 3
end tell
tell application "Terminal"
    do script with command "open -a applicationName"
    delay 1
    do script with command "sudo ntpdate -u time.apple.com"
end tell
delay 1
tell application "System Events"
    keystroke "mypassword" & return
    delay 3
end tell

С другой стороны, запуск приложения Terminal для запуска сценариев оболочки не является необходимым все время, так как вы можете запускать сценарии оболочки в AppleScript с помощью команды «do shell script». Следующий яблочный код - ваш код, использующий только восемь строк кода.

do shell script "sudo date 082704002018"
tell application "System Events" to keystroke "mypassword" & return
delay 3
do shell script "open -a applicationName"
delay 1
do shell script "sudo ntpdate -u time.apple.com"
delay 1
tell application "System Events" to keystroke "mypassword" & return

Если мои версии вашего кода выдают ошибки, возможно, потребуется настроить команды задержки или заново вставить activate команды

Если вы одержимы использованием своей версии кода и трех отдельных Applescripts, просто удалите строки кода on run {input, parameters} и end run из каждого AppleScript, и это должно устранить вашу проблему

...