applescript可直接读写macos剪贴板并批量处理文本、路径等内容,支持条件判断、字符串拼接、错误捕获及跨应用格式保留,结合automator与shell命令实现一键操作、历史管理与服务重置。
applescript 能直接读写 macos 剪贴板,并配合循环、条件和外部命令完成批量操作,无需第三方工具也能灵活处理文本、路径、多段内容等场景。
读取并批量处理剪贴板文本
系统剪贴板默认只存一条内容,但 AppleScript 可以反复读取、拼接、过滤再写回。例如把多次复制的路径统一追加后缀:
- 用 the clipboard as text 获取当前文本,注意需先判断是否为文本(避免图片或文件导致错误)
- 用 & 运算符连接字符串,支持变量、日期、固定后缀等多种组合方式
- 写回前建议用 try…on error 包裹,防止空内容或格式异常中断脚本
结合 Automator 实现一键批量粘贴历史项
原生剪贴板不存历史,但若已安装 Maccy 等管理器,AppleScript 可调用其 intent 批量操作:
Apple Silicon AI — 在 Mac Studio、Mac Mini、MacBook Pro 和 Mac Pro 上运行大语言模型(LLM)、图像生成、语音转文字及嵌入(embeddings)。将您的 Apple Silicon 设备…
- Select + Number 参数可逐个激活历史中的第1、第2…项,再用 keystroke return 模拟回车粘贴
- Delete + 循环结构能安全清除指定范围条目,如删除最近5条非固定记录
- 在 Automator 中嵌入 AppleScript 后,可绑定全局快捷键,真正实现“一键执行整套动作”
清空+重置剪贴板服务确保批量操作干净可靠
批量任务常涉及敏感内容,清空不能只靠写空字符串——需同步重启系统服务:
- 执行 do shell script "printf '' | pbcopy" 清除当前内容
- 补上 do shell script "killall pboard 2>/dev/null" 强制刷新剪贴板守护进程
- 若用于定时任务(如 launchd),建议加上延迟(delay 0.3)避免服务未就绪导致失败
跨应用传递数据时保留原始格式
批量操作不只是纯文本:网页链接、带样式的文字、甚至颜色值都可能被复制。AppleScript 需适配不同类型:
- 对富文本,用 the clipboard as «class utf8» 或 as record 尝试解析结构
- 粘贴到 Pages 或 Notes 时,直接 keystroke "v" using {command down} 比 set the clipboard 更稳定
- 若目标应用支持 AppleScript 控制(如 TextEdit、Safari),优先调用其原生命令,绕过剪贴板中间环节










