You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AppleScript中能否将repeat 10 times与until条件组合使用?

AppleScript实现“重复10次或直到Terminal窗口存在即停止”的逻辑

你不能直接编写repeat 10 times or until "Terminal" window exists这样的命令,AppleScript的repeat语句不支持这种复合条件的语法。不过可以通过计数器+循环条件判断的方式实现需求,以下是具体实现:

set repeatCount to 0
repeat while repeatCount < 10 and (windows of application "Terminal" is empty)
    -- 这里写你每次循环要执行的操作
    display dialog "正在执行第" & (repeatCount + 1) & "次循环" -- 示例操作,可替换
    
    set repeatCount to repeatCount + 1
    delay 1 -- 可选:添加延迟避免循环过于频繁,单位为秒
end repeat

代码说明:

  • 初始化repeatCount变量记录循环次数,从0开始计数
  • 循环条件repeatCount < 10 and (windows of application "Terminal" is empty):只有当循环次数未到10次,且Terminal没有打开的窗口时,才继续循环
  • 每次循环执行完自定义操作后,计数器加1;如果需要控制循环频率,可以添加delay命令
  • 当任一条件不满足(循环次数达到10,或Terminal窗口已存在),循环会自动停止

补充:判断Terminal窗口存在的其他写法

如果你需要更精准的判断(比如特定标题的窗口),可以替换条件为:

-- 判断是否存在任意Terminal窗口
exists window 1 of application "Terminal"

-- 判断是否存在标题包含特定内容的Terminal窗口
exists window of application "Terminal" whose name contains "bash"

内容的提问来源于stack exchange,提问作者dauzzie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 14:36:18