AppleScript 快速入门
AppleScript 顾名思义是苹果开发的一套脚本语言,利用 AppleScript 在 macOS 系统上可以对其他程序进行操作,点击按钮、发送消息、模拟自动化执行功能,比如可以打开浏览器,清空回收站等等一些操作,是一个非常有意思的脚本。说好了要快速入门,下面我们开始快速学习了解它吧。
一、让其他程序执行任务
在 macOS 上有一个应用叫脚本编辑器,通过 Launchpad 可以搜索到,打开脚本编辑器之后,可以看到支持编写和解析 AppleScript 和 JavaScript 两种脚本,如下图所示:
AppleScript 的语法和平时的英语语法很类似,你想让哪个程序执行操作,就 tell 它,比如你想让 Finder 清空回收站那就这样写:
tell application "Finder"
empty the trash
end tell
在脚本编辑器上点击运行按钮就可以看到回收站的内容被清空了,或者按快捷键 Command + R 也能运行,运行之前记得回收站得有东西,不然可能会执行失败。
如果你想让系统说话,可以这样写:
tell application "Finder"
say "My name is exchen"
end tell
哈哈,记得把电脑的声音打开,是不是听到说话了?不仅支持英文和中文,其他国家语言,像德语、荷兰语笔者试过,同样也可以。
如果你想让浏览器打开 URL,可以这样写:
set myBlog to "http://www.exchen.net"
# 告诉 Chrmoe 浏览器打开 URL
tell application "Google Chrome"
# 新建一个 chrome 窗口
set window1 to make new window
tell window1
set currTab to active tab of window1
set URL of currTab to myBlog
end tell
end tell
看看 Chrmoe 浏览器是不是打开了你指定的 URL 了?有意思吧?
上面的测试代码都是在脚本编辑器里运行的,如何脱离脚本编辑器,直接在系统上运行呢?我们可以保存或导出脚本,点击文件菜 -> 存储,可以看到支持的格式有四种,如图所示:
保存为脚本类型,然后通过 osascript 来执行脚本,如下:
/usr/bin/osascript test1.scpt
如果保存为应用程序类型,就是一个 .app 的包,直接双击打开就能运行。
二、数据类型
AppleScript 的数据类型比较简单,一般常用的有 number、string、list、record,也就是数字类型、字符串类型、列表类型、字典类型。
数字类型的赋值和使用如下:
set num1 to 10 # 给 num1 赋值
set num2 to 20 # 给 num2 赋值
set num3 to num1 + num2 # num1 + num2 赋值给 num3
set num4 to num3 * 2 # num3 * 2 赋值给 num4
字符串类型的赋值和使用如下:
set str1 to "exchen.net"
set str2 to "hehe"
set str3 to str1 & str2
字符串与数字的转换方法如下:
set str3Len to the length of str3
set numToStr to num1 as string
set strToNum to "123" as number
列表类型其实就是相当于数组,定义和操作列表类型的方法如下:
set myLists to {
1, 2, "str", 4, 5} # 定义列表数据
set item 3 of myLists to "exchen" #操作第三列的数据
get myLists # 获取列表数据
字典类型的定义和操作方法如下:
set myRecord to {n