说到AppleScript,可能涉及到三个含义:
1.AppleScript语言:就是苹果脚本的语言,用来编写运行于Mac系统的脚本。
2.AppleScript脚本:就是使用AppleScript语言编写的一系列指令。以后简称脚本。
3.AppleScript脚本解释程序:用于解释和执行AppleScript脚本中指令的程序。是Mac系统的原生程序和重要组成部分。下面简称AppleScript脚本程序。
要编写AppleScript脚本,当然就需要编辑工具了,首先打开AppleScript编辑器:
貌似可以使用Xcode编写Cocoa - AppleScript Application,这个暂时还没尝试。我们先从AppleScript编辑器开始。
界面很简单,主要分为工具栏、编辑区和运行结果区。编辑区用来编写脚本,工具栏用来编译和运行脚本等,运行结果区呈现运行结果,这个不用多说了吧。
首先来玩两件很好玩的事:让Mac发音和说话。
在编辑区输入以下脚本:
say "How are you?" using "Zarvox" say "Fine, thank you." using "Victoria" say "Ha Ha" beep
接着点击运行(Command + R运行,Command + .停止运行)。可以看到运行结果区的回复栏中的显示如下:
更加好玩的是Mac系统在自然自语了,还有最后的一声咚。
下面来解释下脚本和运行结果的意思:
say "说话的内容" using "指定人的嗓音"
beep 发声次数
在运行时回复输出的意思是:
tell表明将以上say和beep的任务交付给current application去完成,也就是AppleScript脚本程序。
同样道理,我们可以用tell模块将特定的任务交付给Mac中特定的程序去执行。
tell模块的语法为:
tell application "Application Name"
do your job here
end tell
tell application "Finder" empty the trash beep open the startup disk end tell
注意"Finder"的双引号必不可少。
回复输出为:
tell application "Finder" empty trash --> current application --> error number 0 beep --> error number -10004 end tell tell current application beep end tell tell application "Finder" open startup disk end tell
在tell模块中的任意位置可以插入beep,say等由current application程序解释执行的语句。
注意,交付给某个程序执行的语句必须在tell模块之内。
错误写法:
tell application "Finder" empty the trash beep end tell open the startup disk
运行结果区的回复输出如下:
tell application "Finder" empty trash --> current application --> error number 0 beep --> error number -10004 end tell tell current application beep end tell tell application "AppleScript Editor" open startup disk --> missing value end tell 结果: missing value
boot应该由Finder程序去打开,但是由于超出了tell applicaiton "Finder"模块,所以给语句将交由AppleScript Editor程序解释执行,很可惜,AppleScript编辑器无法打开boot,报错。
在写te时按下esc键,此时出现代码补全菜单:
在上下文菜单中我们可以将AppleScript语句快速地插入到编辑区中,例如:
也可以将一段语句插入到Tell语句块中,方法是先选中这段语句,再插入到Tell Blocks中:
你可以输入:
tell app "Finder" end
tell application "Finder" end tell
在编写AppleScript脚本时,是不区分大小写的,当然在编译过后也会被替换成正确的大小写形式。
这些小技巧都非常有利于快速编写脚本。
写好了程序,当然是保存了。可以在菜单中点击文件 —— 存储(或按快捷键Command + S)。
在保存时有多种文件格式:
如果保存为脚本,那么下次打开文件时还是用AppleScript编辑程序来打开。文件后缀为.scpt,桌面图标如下:
如果保存为应用程序,那么最好保留个脚本的copy,否则将不能用AppleScript Editor来打开编辑。
保存时的对话框如下:
如果选中“显示启动屏幕”,那么以后运行程序前会弹出一个对话框提示:
如果选中“运行处理程序后保持打开”选项,那么在程序运行完毕后会停留在Dock中。
保存的图标和脚本格式不同。文件后缀为.app,桌面图标如下(少了个纸张背景):
后记:
事实上,在保存为应用程序后,还是可以修改其脚本内容的。方法如下:
1.右击应用程序,点击显示包内容。
2.打开Contents —— Resources —— Scripts —— main.scpt(该文件可以用AppleScriptEditor打开并编辑其代码),如下:
3.修改其代码可以修改应用程序的功能。
第一篇学习笔记先到这里,后面会继续更新。
更多详细内容请参考《AppleScript for Absolute Starters》一书(中文名为《苹果脚本跟我学》)。