从命令行在单独的窗口中运行AppleScript进度条?

时间:2017-07-13 01:17:15

标签: applescript

要从命令行显示对话框,我只需使用

$ osascript File.scpt

但是,进度条功能不限于对话框窗口,因为它适应当前应用程序,例如, Finder窗口,其中进度更新显示在窗口的底部。 File.scpt看起来像这样。

set numUpdates to 100
set progress total steps to numUpdates
set progress completed steps to 0
set progress description to "Updating..."
set progress additional description to "Preparing to process."
set cycle to 1

repeat with a from 1 to numUpdates
    # update description, completed steps, etc
end repeat

但是,当我从终端窗口运行脚本时,脚本会运行,但不会显示任何内容来指示进度。有没有办法强制进度条作为新对话框打开,或者不必将脚本导出为“.app”文件?

1 个答案:

答案 0 :(得分:0)

脚本编辑器可以在其窗口和终端中显示进度的原因不是因为脚本编辑器具有自己的扩展脚本定义以及额外的功能,因此当脚本通过脚本编辑器运行时,它已经使用额外的进度指示器编程但是没有其他应用程序很抱歉。我看待它的方式,你几乎有两种我能想到的方法可以让你在AppleScript中显示“进度”:

  1. 这有点难看,但我曾经只有一个透明的微调器gif文件,它将显示在一个对话框中,这会产生一些正在加载或工作的效果。还有一个按钮,表示没什么,或者说没问题,例如。

    display dialog "Loading..." buttons:{"OK"} with icon ("/path/to/loader.gif" as POSIX file)
    

    如果您想暂时加入giving up after (duration in seconds)

  2. 这可能是最好的选择,但可能更复杂。我建议您转换为名为“AppleScript Objective C”的编程语言,也称为“Cocoa AppleScript”。这允许您使用Cocoa Windows / Dialogs / etc的基本AppleScript命令,包括进度条!为了让你开始,你应该下载Xcode并研究AppleScript Objective C并坚持下去。它比AppleScript更好但仍具有相同的功能:)

相关问题