利用 AppleScript 编写 macOS 系统级任务自动化脚本

舞夢輝影

舞夢輝影

2026-07-15

232人浏览

原创

applescript 是 macos 原生脚本语言,专用于控制原生应用和系统行为,依赖应用词典支持,需结合 system events、shell 命令及权限设置实现跨应用自动化。

利用 applescript 编写 macos 系统级任务自动化脚本

AppleScript 是 macOS 原生支持的脚本语言,专为控制应用程序和操作系统行为而设计。它不依赖第三方工具,能直接调用系统服务、操作 Finder、Mail、Calendar、Safari 等原生应用,也支持与 shell 命令、JavaScript(通过 JavaScript for Automation)协同工作。关键在于理解它的面向对象语法和目标应用程序的词典(dictionary)结构。

明确脚本目标并检查应用是否支持 AppleScript

不是所有 app 都开放 AppleScript 接口。在 Script Editor 中,选择 File → Open Dictionary…,浏览目标应用。若显示词典内容(如“document”、“window”、“mail message”),说明可被控制。例如 Safari 有 current tabURL 属性,而多数 Electron 应用(如 VS Code 默认安装)则不支持——需改用 UI Scripting 或辅助功能 API。

  • 常用可脚本化应用:Finder、System Events、Mail、Calendar、Reminders、Notes、Safari、Preview、TextEdit
  • 系统级任务优先用 System Events:管理音量、屏幕亮度、键盘设置、登录项、定时器、UI 元素点击等
  • 不确定时,在终端运行:osascript -e 'tell app "AppName" to get name',返回名称即基本可用

用 System Events 实现系统控制(无需权限即可完成的部分)

System Events 是 AppleScript 的核心桥梁,许多底层操作都经由它完成。部分操作(如操控菜单栏、点击按钮)需开启“辅助功能”权限,但基础属性读写(如获取屏幕分辨率、当前桌面壁纸路径)通常无需授权。

  • 调节音量:tell application "System Events" to set volume output volume 50
  • 锁定屏幕:tell application "System Events" to keystroke "q" using {control down, command down}
  • 获取当前桌面背景:tell application "System Events" to get desktop picture
  • 隐藏所有窗口:tell application "System Events" to key code 104 using command down(对应 ⌘+⌥+H)

组合应用逻辑:以「下班自动归档邮件 + 清空下载文件夹」为例

真实场景往往跨多个应用。以下脚本会:① 将 Mail 中今天收到的未读邮件移到“已归档”邮箱;② 删除 Downloads 文件夹中 7 天前的文件(跳过正在使用的文件)。

Go语言(Golang)Mac版
Go语言(Golang)Mac版

Go语言(Golang)Mac版适用于 macOS 开发者搭建本地 Go 工具链,支持快速编译、内置并发、模块管理和跨平台项目开发。

下载

注意:Mail 脚本需先启用“在脚本菜单中启用邮件”(Mail → 偏好设置 → 规则 → 启用脚本);删除文件前建议先用 do shell script "ls -t ~/Downloads | head -5" 预览。

  • Mail 归档部分使用 messages whose (date received ≥ (current date) - 7 * days and read status is false)
  • 文件清理推荐用 shell 命令更可靠:do shell script "find ~/Downloads -type f -mtime +7 -not -name '.*' -delete 2>/dev/null"
  • 添加错误处理:try … on error errMsg number errNum 可捕获 Mail 不响应或文件被占用等情况

部署与触发:让脚本真正跑起来

写完脚本后,保存为 .scpt(可编辑)或 .app(双击运行)。进阶用法包括:

  • 添加到菜单栏:用 Script Editor → 文件 → 存储为 → 文件格式选「应用程序」→ 勾选「保持为菜单栏项目」
  • 定时执行:配合 launchd 创建 plist 文件,比 iCal 或第三方工具更轻量稳定
  • 快捷键触发:用 Keyboard Maestro、Hammerspoon 或 macOS 快捷键设置(系统设置 → 键盘 → 快捷键 → 服务)绑定脚本
  • 从终端运行:osascript /path/to/script.scpt,便于集成进 shell 工作流

AppleScript 的优势不在语法多强大,而在于它和 macOS 的深度绑定。只要理清目标应用的可操作对象、善用 System Events 补足系统层能力、搭配 shell 命令处理文件与进程,就能构建出稳定可靠的自动化链路。不复杂但容易忽略细节——比如 Mail 的规则需手动启用,或 UI 操作前忘记加延迟等待界面就绪。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

macos apple macos 自动化

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

2025.05.09

1549

14

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

2025.12.13

301

14

Figma AI自动化智能数据填充与交互生成实战
Figma AI自动化智能数据填充与交互生成实战

告别机械重复,详细演示如何用 AI 填充业务真实数据,并自动为页面添加交互连线,将静态设计稿快速转变为动态原型。

2026.05.13

142

17

Selenium Grid分布式测试与并行执行教程
Selenium Grid分布式测试与并行执行教程

本专题整理Selenium Grid架构、远程WebDriver、并行测试、Docker部署、Kubernetes动态Grid、浏览器矩阵和测试环境扩展方法,适合进阶自动化测试团队使用。

2026.08.05

0

18

Selenium常见报错排查与自动化测试稳定性
Selenium常见报错排查与自动化测试稳定性

本专题整理Selenium常见报错、驱动版本问题、元素找不到、点击失败、等待超时、浏览器闪退、脚本不稳定和测试用例维护方法。

2026.08.05

0

17

墨刀AI提示词教学
墨刀AI提示词教学

本合集由PHP中文网精心整理,为您提供全面的墨刀AI提示词教学。内容涵盖高质量原型撰写公式与实操窍门,助您轻松掌握AI设计工具。无论是零基础入门还是进阶技巧,都能让您快速上手,大幅提升产品设计与协作效率。

2026.08.04

11

21

墨刀AI完整入门
墨刀AI完整入门

PHP中文网为您倾力打造墨刀AI保姆级入门指南完整版!本合集从零基础讲起,涵盖AI生成原型、提示词优化、图片转原型及多轮对话等核心功能。无论您是新手还是进阶用户,都能轻松掌握产品设计全流程。快来PHP中文网,一键解锁高效设计技巧,让想法即刻成型!

2026.08.04

8

20

墨刀AI进阶技巧
墨刀AI进阶技巧

本合集由PHP中文网精心整理,为您提供墨刀AI核心进阶策略指南。内容涵盖高效提示词写作、原型智能生成与微调、结构化导图制作及行业分析报告输出等实战技巧。助您轻松掌握AI设计工具,大幅提升产品设计与团队协作效率。

2026.08.04

10

14

火山引擎实名认证失败怎么办
火山引擎实名认证失败怎么办

火山引擎实名认证失败可能与证件信息填写错误、姓名或企业信息不一致、证件照片不清晰、营业执照状态异常、手机号验证失败或审核资料不完整有关。本专题整理个人认证、企业认证、资料上传、审核退回、重新提交和认证不通过的常见处理方法。

2026.08.04

5

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程