0
set holdthevolume to (path to resource "holdthevolume.scpt" in directory "Scripts")
run script holdthevolume

set copyfiles to (path to resource "copyfiles.scpt" in directory "Scripts")
run script copyfiles

保持音量。是在“重复”下运行的脚本。因此,在应用程序退出之前,ti 永远不会结束。在其中这样做它永远不会通过该过程移动到第二部分“copyfiles”。我如何让它不在乎那个人是否已经完成并继续下一个任务?

脚本holdthevolume.scpt是:

repeat
   set volume 7
   delay 0.01
end repeat
4

1 回答 1

0

一种解决方案是将holdthevolume.scpt 导出为保持打开应用程序并启动它,这将为您提供单独的线程类型执行。

例如,

set vol_app_path to (path to resource "holdthevolume.app" in directory "Scripts")

tell application vol_app_path to launch

set copyfiles to (path to resource "copyfiles.scpt" in directory "Scripts")
run script copyfiles

tell application vol_app_path to quit

..并holdthevolume.app 使用空闲处理程序而不是循环。

on idle
    set volume 7
    return 0.01
end idle

不利的一面是holdthevolume.app 将在文档中可见。

或者,您可以探索将“do shell script”与“osascript”命令一起使用,该命令也可以以非阻塞方式工作。

于 2013-09-10T11:28:41.917 回答