我正在尝试使这一过程自动化。
步骤1:将系统日期更改为特定日期。
第2步:打开一个应用程序。
第3步:将系统日期更改回正常状态。
现在在Automator上,我放置了三个这样的苹果脚本。
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仅运行第一个代码。我不确定如何使其按顺序运行所有代码。
很抱歉,如果这是一个愚蠢的问题。我对automator和applescript完全陌生。
谢谢
答案 0 :(得分:1)
我不确定您为什么选择使用三个单独的AppleScript。您可以像下面的示例一样将它们全部组合到一个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应用程序来运行Shell脚本,因为您可以使用“ do shell script”命令在AppleScript中运行Shell脚本。下面的applescript代码是仅使用八行代码的代码。
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
命令
如果您热衷于使用自己的代码版本和三个单独的Applescript,只需从每个AppleScript中删除on run {input, parameters}
和end run
行代码,这应该可以解决您的问题