macos shortcuts 通过「重复」操作实现循环逻辑,支持固定次数执行或结合变量与「如果」进行条件型循环,需将操作拖入「重复」框内,输入自动传递。

macOS Shortcuts 支持循环逻辑,但不像传统编程那样写 for 或 while,而是通过「重复」操作实现——它把一段工作流封装起来,按次数或条件反复执行。
用「重复」操作构建基础循环
这是最直接的方式,适合固定次数的批量处理,比如重命名 10 个文件、对选中的 5 张图统一加水印。
- 在快捷指令编辑界面点击「添加操作」→ 搜索并添加「重复」
- 设置「重复次数」(如输入 3)或选择「直到…」条件(需配合变量判断)
- 把需要循环执行的操作拖进「重复」区域内部(注意:必须放在「重复」框里,而不是下面)
- 前一步的输出(例如“获取文件夹内容”返回的文件列表)会自动作为循环内第一步的输入
配合变量实现条件型循环
当不确定要跑几次,而依赖中间结果决定是否继续时,就得靠变量+「如果」+「重复」组合。
- 先创建一个数字变量(如「计数器」),初始值设为 0
- 在「重复」内放「如果」操作,判断「计数器
- 满足条件时执行主体动作,并用「设置变量」把「计数器」加 1;不满足就跳出
- 注意:「重复」本身不提供内置中断机制,靠「如果」分支控制流程走向
循环中处理列表数据
多数实际场景是对一组文件、文本行或图像批量操作,Shortcuts 会自动把列表拆解为单个元素逐次传入循环体。
- 例如「获取文件夹内容」输出的是文件列表,接「重复」后,每次循环拿到一个文件
- 循环体内可直接用「重命名文件」「调整图像大小」等操作,它们天然支持单个输入
- 若需汇总结果(如把每张图转成 PDF 后合并),得在循环外用「追加到列表」收集,最后统一处理
避免常见陷阱
循环容易出错的地方不在逻辑,而在数据流和权限配置。
- 「重复」区域外的操作不会被重复执行,容易误放位置导致只跑一次
- 含「选择」「等待输入」的操作不能放进循环,否则每次都会卡住等待用户响应
- 调用「运行快捷指令」嵌套自身可能引发无限递归,系统会限制深度防止崩溃
- 自动化触发(如文件夹监控)中启用循环时,务必关闭「运行前询问」,否则弹窗会阻塞整个流程











