AppleScript Editor 教程:从入门到自动化
AppleScript 是苹果公司为其 macOS 操作系统开发的一种脚本语言和系统,它允许用户通过编写简单的英文式指令来自动化重复性任务,控制不同应用程序之间的协作,甚至创建自己的小工具。

而 AppleScript Editor(在旧版本中称为“脚本编辑器”)就是用来编写、运行、调试和保存 AppleScript 脚本的官方工具。
第一部分:准备工作与界面初探
如何打开 AppleScript Editor
- 方法一(推荐):按下
Command + 空格键打开聚焦搜索,输入脚本编辑器或Script Editor,然后按回车。 - 方法二:在“应用程序” > “实用工具”文件夹中找到并打开“脚本编辑器”。
熟悉 AppleScript Editor 界面
打开后,你会看到一个简洁的界面,主要由以下几部分组成:
- 工具栏:包含新建、打开、运行、停止、记录等常用功能的按钮。
- 主编辑区:在这里编写你的 AppleScript 代码。
- 事件日志:这是最重要的区域之一,当你运行脚本时,它会显示脚本被系统“翻译”成的事件,帮助你理解脚本在做什么,也是调试的关键。
- 结果:如果脚本有返回值(比如获取文件列表、计算结果等),它会显示在这里。
- 描述:显示当前脚本的描述、版本、作者等信息。
第二部分:你的第一个脚本
让我们从一个最简单的例子开始,让电脑“说话”。
- 打开 AppleScript Editor。
- 在主编辑区输入以下代码:
say "你好,世界!"
- 点击工具栏上的 “运行” 按钮(或按下快捷键
Command + R)。
你会听到电脑用系统默认的语音说出“你好,世界!”,在“事件日志”中,你会看到:

tell application "System Events"
say "你好,世界!"
end tell
这表明你的 say 命令被系统包装成了一个发送给 "System Events" 应用的事件。
第三部分:核心概念与语法
AppleScript 的语法非常接近自然语言,这让学习曲线变得平缓。
基本语法规则
- 不区分大小写:
say "Hello"和SAY "hello"效果一样。 - 语句以换行结束:通常一行一个命令。
- 使用英文标点符号:主要是冒号 和逗号 。
- 注释:使用 来添加单行注释, 来添加多行注释。
-- 这是一个单行注释 (* 这是一个 多行注释 *)
变量
使用 set 关键字来给变量赋值。
-- 赋予一个文本值 set myName to "张三" -- 赋予一个数字值 set myAge to 30 -- 使用变量 say "你好," & myName & ",你今年" & myAge & "岁了。"
& 是连接字符串的运算符。

数据类型
AppleScript 支持多种数据类型,最常用的有:
- 文本:用双引号括起来,如
"Hello"。 - 数字:如
100,14。 - 布尔值:
true或false。 - 列表:有序的集合,用花括号 表示,可以包含不同类型的数据。
set myFruits to {"apple", "banana", "orange"} - 记录:无序的键值对集合,用花括号 和冒号 表示,类似字典。
set userInfo to {name:"李四", age:25, city:"北京"}
条件判断
使用 if 语句来执行条件逻辑。
set myScore to 85
if myScore >= 90 then
say "太棒了!你是优等生!"
else if myScore >= 60 then
say "及格了,继续努力!"
else
say "很遗憾,你需要再接再厉。"
end if
循环
使用 repeat 语句来重复执行代码块。
-
Repeat with...in (遍历列表)
set myFruits to {"apple", "banana", "orange"} repeat thisFruit in myFruits say thisFruit end repeat -
Repeat with...from...to (数字循环)
repeat with i from 1 to 5 say "计数:" & i end repeat -
Repeat...times (固定次数循环)
repeat 3 times say "你好!" end repeat
第四部分:与应用程序交互
AppleScript 的真正威力在于控制其他应用程序,这通过 tell 语句实现。
基本 Tell 语句
tell 告诉某个应用程序执行接下来的命令。
示例:控制“文本编辑”
- 打开“文本编辑”应用。
- 在 AppleScript Editor 中编写以下脚本:
tell application "文本编辑" activate -- 激活“文本编辑”应用,使其成为前台窗口 make new document -- 创建一个新文档 set the content of the front document to "这是由 AppleScript 写入的文本。" end tell - 运行脚本,你会看到“文本编辑”被打开,并自动填写了文本。
获取应用程序信息
你可以询问应用程序它有什么“命令”(即它的“字典”)。
示例:获取 Safari 的所有书签
tell application "Safari"
set allBookmarks to every bookmark of the bookmarks menu
repeat with thisBookmark in allBookmarks
log the name of thisBookmark -- 在“系统日志”中打印书名
end repeat
end tell
如何查看应用程序的字典?
- 在 AppleScript Editor 中,点击菜单栏的“文件” > “打开字典...”。
- 选择你想了解的应用程序(如 Safari、Finder、邮件等),打开后你会看到该应用所有可用的类、命令和属性,这是学习如何控制特定应用的最佳资源。
第五部分:文件系统操作
与文件和文件夹交互是自动化任务的核心。
示例:查找桌面上的所有 PNG 图片
-- 定义桌面路径
set desktopPath to (path to desktop folder)
-- 查找所有扩展名为 .png 的文件
tell application "Finder"
set pngFiles to every file of desktopPath whose name extension is "png"
-- 显示找到的文件数量
say "找到了 " & (count of pngFiles) & " 张 PNG 图片。"
-- 遍历并打印文件名
repeat thisFile in pngFiles
log (name of thisFile)
end repeat
end tell
常用文件操作命令:
exists file "Macintosh HD:Users:yourname:Desktop:myFile.txt": 检查文件是否存在。make new folder at desktopPath with properties {name:"新文件夹"}: 创建新文件夹。move file "源文件路径" to folder "目标文件夹路径": 移动文件。duplicate file "源文件路径": 复制文件。delete file "文件路径": 删除文件。
第六部分:调试技巧
脚本出错是常有的事,AppleScript Editor 提供了强大的调试工具。
- 显示事件日志:这是首要的调试步骤,查看你的命令是否被正确地翻译成了应用程序能理解的事件。
- 显示结果:如果你的脚本应该返回一个值但结果为空,说明可能获取或计算过程出了问题。
- 使用
log命令:在脚本中插入log "调试信息",可以在“事件日志”中打印出变量的值或程序的执行状态,帮助你定位问题。set myCount to 10 log "开始循环,myCount 的值是:" & myCount repeat with i from 1 to myCount log "当前 i 的值是:" & i end repeat - 逐行执行:
在代码行号左侧点击,可以设置一个**断点
