第一个 AppleScript 脚本

说明:本文不适合两类人阅读:1. 编程高手;2. PC用户。如你属于其中之一,又不小心发现了本文,请即刻无视它! :P

applescript_logo.jpg不会编程却也想冒充一回高手来唬 MM?那你一定不能错过 AppleScript!因为它能帮助你轻松的写出一些非常实用的小脚本,让 MM 们向你投来崇拜的眼光!AppleScript 是一种脚本语言,其语法非常接近自然语言,功能却非常的强大,你可以用它来写出非常专业的系统维护脚本出来。

读者 A:“那这个 AppleScript 到哪里可以下载到呢?”
我:“哈,真巧,你的 Mac OS X 里正好就有!”
读者 B:“AppleScript 我倒是见过,但是从没有碰过它,我应该如何开始呢?”
我:“别急,别急,我们下面马上进入正题,讲讲怎么开始写 AppleScript 脚本。”

在你开始写你的第一个 AppleScript 脚本之前,你需要知道一些准备知识:什么是可脚本化应用程序(script-able application)以及如何使用脚本编辑器(Script Editor)。

可脚本化应用程序
简单地说,可脚本化应用程序,就是开发人员在开发的时加入了一组能让脚本编辑器理解并使用的“指令”的应用程序。有些软件是不可脚本化的,但是大部分苹果自家的程序,以及 Mac OS X 本身,都是可以脚本化的。

apple_script.png脚本编辑器
脚本编辑器是一个非常简陋的程序,但是它允许你做一些非常高级的事。脚本编辑器就在你的“Applications”目录下的“AppleScript”子目录中。编辑器简陋的界面上有一个大块的文本输入区域,工具条上也只有 5 个按钮。在本文中,我们只需要看“Run”和“Stop”这两个按钮。“Run”按钮可以运行当前输入的脚本,“Stop”则是停止当前正在运行的脚本。

运行脚本
好了,下面就立刻动手运行你的第一个AppleScript吧!我们会用到“tell”命令。这个命令允许你告诉一个应用程序去做一些事情。例如,如果你想打开 iTunes,你可以在脚本编辑器中输入下面的一行脚本:

tell applocation "iTunes" to activate

你可以将上面那行脚本中的“iTunes”替换为你Mac上的任何其他程序。不过,你必须保持那个程序名称的大小写以及保留空格(如果有空格的话),而且,程序名上的那个引号是必须的。输入完毕了吗?点击“Run”按钮试试看,iTunes 蹦出来了吧!把上面那行脚本中的“activate”替换成“quit”,运行之,就能退出 iTunes。

怎么样,AppleScript 读起来是不是感觉特别像英语的句子啊?这也是 AppleScript 特别易学的原因。

读者C:“切,这样开关 iTunes 不是比我点鼠标麻烦多了啊!”
我:“就上面的示例而言,确实是这样!不过假如你要把一个文件夹中的所有照片,例如有 10000 张或更多,都旋转 90 度呢?”
读者 C:“...”

下面就是一段这样的代码:

-- Rotates JPEG and TIFF images that are placed in the folder
on adding folder items to theFolder after receiving fileList
    display dialog “Rotating Files...” buttons {“OK”} default button 1 giving up after 2

    repeat with theFile in fileList
        set infoRec to info for theFile
        
        if (name extension of infoRec) is in {“JPG”, “JPEG”, “TIF”, “TIFF”} then
            tell application “Image Events”
                launch
                set thePic to open file (POSIX path of theFile)
                rotate thePic to angle 90
                close thePic saving yes
        end tell
        else
            display dialog “false”
        end if
    end repeat
end adding folder items to
(代码摘自 Stephen G. Kochan 所著的《Beginning AppleScript》)

我:“上面的这段代码唬住你了没?其实仔细读读,是不是还是觉得很容易理解啊?”
读者 C:“真是的啊!这样看起来的话,AppleScript 还真是不错!我想学更多,到哪里可以找到资料啊?”

深入学习 AppleScript:
1. 《Beginning AppleScript》(用驴子下载
2. ADC的AppleScript Reference Library

——基于 TUAW 的“AppleScript: the Script Editor”一文