AppleScript

2024 年 9 月 1 日

用 AppleScript 在 Automator 撰寫自動化腳本

已複製到剪貼板


Automator 是 Mac 中內建非常強大的自動化工具,除了 Apple 已經定義好的自動化動作,我們最常使用到的就是用 AppleScript 腳本語言來控制 Mac 了。

備註

在上一篇文章中,我們介紹了 Automator 是什麼,有什麼能力,想了解更多的話,可以點擊這裡

用 AppleScript 在 Automator 中撰寫自動化腳本
用 AppleScript 在 Automator 中撰寫自動化腳本

AppleScript 是什麼?

AppleScript 是 Apple 專為 macOS 設計的自動化腳本語言,它主要的功能就是可以讓用戶透過撰寫腳本程式來自動化操作 Mac 中的應用程式與系統服務。而它最大的特色就是閱讀起來非常的口語化,寫起來就像在寫英文句子一樣。

在 Automator 中「執行 AppleScript」

當我們在 Automator 中加入一個「執行 AppleScript」的動作後,會得到這樣的預設程式碼:

在 Automator 中使用「執行 AppleScript」
在 Automator 中使用「執行 AppleScript」
on run {input, parameters}
    
    (* Your script goes here *)
    
    return input
end run

通常我們不需要管 runinputparameters 這些關鍵字是什麼,只要把 (* Your script goes here *) 這行刪掉,就可以開始撰寫腳本了。不過這裡還是簡單說明一下這三個關鍵字的意義:

  • run:AppleScript 其中一個事件處理器,表示此腳本的主要執行入口
  • input:Automator 工作流程中前一個動作的主要數據流,通常為動態數據,預設為空列表 {}
  • parameters:Automator 工作流程中的次要數據或靜態配置,通常來自前一個動作的次要輸出,預設為空列表 {}

input 與 parameters 提供 AppleScript 輸入管道,讓腳本的執行邏輯可以更有彈性。

AppleScript 的語法參考

如果都沒接觸過 AppleScript,一開始可能會不知道這個腳本語言要怎麼寫,有什麼語法規則,可以控制哪些應用程式與系統服務。其實,每台 Mac 裡都有一個 AppleScript 指令大全,只是藏在了我們不知道的地方。

打開藏在應用程式中「其他」資料夾裡的「工序指令編寫程式」內建 App,這是一個 AppleScript 編譯器,它可以讓我們開發與測試 AppleScript 腳本程式。在螢幕上方的選單「檔案」中,選擇「打開指令詞彙⋯」,就可以發現所以可以用 AppleScript 控制的 App:

Mac 工序指令編寫程式:指令詞彙
Mac 工序指令編寫程式:指令詞彙

這裡選擇 Safari 為例,就可以看到所有用來控制 Safari App 的 AppleScript 指令語法:

Safari.sdef
Safari.sdef

我們就可以用這樣的語法,在 Automator 中,開始撰寫希望 Mac 自動化執行的事件。

分享文章

已複製到剪貼板


超級感謝

關於 XcodeProject

XcodeProject 創立於 2023,致力於協助開發者探索 Apple 的創新世界,學習在 iOS、iPadOS、macOS、tvOS、visionOS 與 watchOS 上開發 App,發現眾多技術與框架,讓開發者獲得更多能力。


Contacts

Ricky Chuang

XcodeProject

RickyChuang.xcodeproj@gmail.com

XcodeProject 聯絡

contact.xcodeproj@gmail.com

最新文章