什麼是applescript?編寫第一個mac自動化指令碼

AppleScript可以幫助您在Mac上自動執行重複的任務。下面是概述以及如何編寫第一個AppleScript指令碼。...

如果你在編寫腳本的世界裡感到舒服,並且在Mac上工作,AppleScript可能是你的自動化解決方案。AppleScript是一種功能強大的語言,只要它提供AppleScript庫,就可以控制任何應用程序。

mac-computer-applescript-programming-desktop

它用於一些常見的任務,例如自動調整Photoshop照片大小、重命名文件夾和使用密碼鎖定文件。我們將向您展示如何開始使用它。

什麼是應用腳本(applescript)?

與bash一樣,AppleScript也是一種腳本語言。與Automator類似,它主要與應用程序和Finder交互,為您自動化任務。早在1993年,它就作為MacOSSystem7的一部分發布了。從那時起,它就被放在實用程序文件夾中。

隨著MacOSX的面世,AppleScript的功能增強了。Cocoa框架使應用程序開發人員更容易包含AppleScript兼容性。這種靈活性的提高,再加上AppleScript直接與命令行對話的能力,使得AppleScript成為修補者的最佳工具之一。它還使macOS在自動化方面比iOS更具優勢。

預裝applescripts概述

在我們詳細分析AppleScript所說的內容之前,讓我們先看看腳本編輯器中預裝的腳本,以及如何使用它們。

預安裝的腳本位於Macintosh HD>庫>腳本中。您還可以通過打開腳本編輯器(使用Spotlight搜索),轉到“首選項”>“常規”>“在菜單欄中顯示腳本菜單”,然後單擊菜單欄中顯示的腳本圖標來訪問它們。

The menu bar item for Scripts Editor

您只需從菜單欄運行其中一個腳本。

讓我們看看文件夾操作。文件夾操作是附加到文件夾的AppleScript。啟用後,腳本將在添加到該文件夾的任何文件上運行。

如果轉到“文件夾操作”>“將腳本附加到文件夾”,彈出窗口將詢問要添加到文件夾的腳本類型。您可以水平或垂直翻轉照片,將其複製為JPEG或PNG格式,旋轉照片,或在添加新項目時提示警告。

Pre installed AppleScripts

選擇腳本和要將其附加到的文件夾後,右鍵單擊文件夾本身。轉到“服務”>“文件夾操作設置”,並確保選中“啟用文件夾操作”。然後拖動文件夾頂部的一個文件以查看AppleScript的運行情況。

玩一下腳本菜單欄,瞭解AppleScript還能為您做些什麼。要查看引擎蓋下發生了什麼,請轉到“腳本”文件夾,右鍵單擊任何腳本,然後使用“腳本編輯器”打開它。

理解tell語句

New item alert AppleScript

AppleScript使用人類可讀的語法。這意味著,與許多其他編程語言相比,它是以可理解的格式編寫的。因為它使用完整的單詞和句子來發送命令,所以很容易理解,也很容易學習。

讓我們看看add-new項的開始語法警報.scpt文件夾內操作。這將給出AppleScript中最基本的語句:tell語句。

on adding folder items to this_folder after receiving added_itemstrytell application "Finder"--get the name of the folderset the folder_name to the name of this_folderend tell

“陳述”由三部分組成:

  1. “告訴”這個詞
  2. 要引用的對象(在本例中是應用程序“Finder”)
  3. 要執行的操作(此處為“將文件夾名稱設置為此文件夾的名稱”)。

用外行的話說,上面的tell語句是“告訴Finder在腳本請求“this\u folder”時使用這個腳本附加到的文件夾的名稱”。

AppleScript的目的是讓應用程序執行自己不想執行的任務,從而為您實現任務自動化。因此,“tell”命令至關重要。你可以在AppleScript的世界裡靠“告訴”走得更遠。

另請注意:表示

--get the name of the folder

實際上只是一個註釋,告訴用戶腳本當時在做什麼。評論是必不可少的——不僅僅是為了告訴別人你的劇本做了什麼,也是為了提醒自己。

編寫第一個applescript

Hello World dialog box

如果您有一些編程經驗,並且熟悉變量、do while循環和條件等概念,您可以從AppleScript獲得超出本文介紹範圍的許多信息。現在,我們將向您展示如何創建、編寫、運行和保存基本腳本:

  1. 創建腳本:打開腳本編輯器並轉到“文件”>“新建”。
  2. 編寫腳本:腳本編輯器窗口分為兩半。上半部分用於輸入腳本;下半部分將在運行時顯示輸出。類型:告訴應用程序“系統事件”顯示對話框“helloworld!”。然後點擊菜單欄中腳本正上方的錘子按鈕來編譯它。這將在腳本中運行以檢查語法錯誤。如果沒有收到錯誤對話框,並且腳本更改了格式和字體,則編譯成功。
  3. 運行腳本:錘子按鈕旁邊是一個播放按鈕。打那個,看看會發生什麼。
  4. 保存腳本:現在您已經有了一個基本腳本,可以將其保存為可單擊的應用程序。轉到“文件”>“保存”,然後在“文件格式”下,選擇“應用程序”。現在,不用打開腳本編輯器並點擊Play,只需雙擊腳本即可運行它。如果您喜歡在bash中編寫腳本,可以使用AppleScript將bash腳本轉換為可單擊的應用程序。

Save Script as an Application

有了這個簡單的語法,你幾乎可以告訴任何一個Mac應用程序去做任何事情。要查看給定應用程序的可用命令,請轉到“文件”>“打開詞典”,然後選擇應用程序。從那裡,您可以看到所有可用的AppleScript命令。

Applescript commands dictionary for iPhoto

為了簡化mac自動化,請使用automator

如果編程讓你頭疼,有更簡單的方法來自動化你的任務。Automator使用一個友好的GUI和一個簡單的界面,將使人麻木的例程變成一鍵設置並忘記任務。

雖然Automator不像AppleScript那樣可定製或複雜,但它更簡單,更難破解。如果你感興趣的話,可以看看一些自動機工作流,它們可以節省你的時間。

  • 發表於 2021-03-20 16:33
  • 閱讀 ( 59 )
  • 分類:蘋果

你可能感興趣的文章

阿帕奇螞蟻(apache ant)和馬文(maven)的區別

...的工具。它有助於管理專案。 目錄 1. 概述和主要區別 2. 什麼是Apache Ant 3. 什麼是Maven 4. ApacheAnt和Maven的相似之處 5. 並列比較——ApacheAnt與Maven的表格形式 6. 摘要 什麼是阿帕奇螞蟻(apache ant)? 螞蟻代表另一個整潔的工具。它是...

  • 發佈於 2020-10-19 18:51
  • 閲讀 ( 46 )

在windows中寫入批處理檔案?else語句如何工作

... 對更多感興趣?看看為什麼PowerShell可能比批處理指令碼更好。 ...

  • 發佈於 2021-03-12 20:01
  • 閲讀 ( 53 )

使用簡單的shell指令碼修復html格式

... 為什麼使用shell指令碼?如果你是程式設計新手,從小事做起會更好。不僅你不太可能放棄,而且你還有機會停下來學習。也就是說,你的第一個程式可以非常有用,即使它...

  • 發佈於 2021-03-13 00:12
  • 閲讀 ( 48 )

什麼是shell指令碼,為什麼要使用它

... 既然您已經知道了shell指令碼是什麼以及它們的許多優點,您不想在任務中使用它們嗎?您在使用它們時遇到了哪些問題?請在下面的評論中告訴我們。 ...

  • 發佈於 2021-03-13 04:53
  • 閲讀 ( 54 )

如何用photoshop指令碼自動化photoshop

...編輯影象的工具——我們是這裡的超級粉絲,這已經不是什麼祕密了。我們之前已經介紹瞭如何設計一個簡單的logo,以及如何修復過度曝光的照片,所以一旦掌握了基本知識,自動化是下一個合乎邏輯的步驟。 ...

  • 發佈於 2021-03-13 07:15
  • 閲讀 ( 60 )

透過指令碼自動化gimp來節省您的時間和精力

...中指令碼的基本知識,就可以開始嘗試了。想想你經常做什麼樣的過程,這對自動化很有用。接下來是棘手的部分:找出如何使用程式碼來實現這些想法。 ...

  • 發佈於 2021-03-13 15:27
  • 閲讀 ( 56 )

如何用google指令碼在google表單中傳送電子郵件

...讓我們把它分解一下,這樣你就能確切地知道每一行在做什麼。 ...

  • 發佈於 2021-03-14 04:11
  • 閲讀 ( 45 )

VisualStudio程式碼是mac的完美文字和指令碼編輯器

...言。另一個支援降價。甚至還有一個外掛可以編寫和執行Applescript。 ...

  • 發佈於 2021-03-14 07:11
  • 閲讀 ( 55 )

使用powershell而不是批處理指令碼的5個原因

... 那麼.NETAPI支援有什麼好處呢? ...

  • 發佈於 2021-03-15 16:49
  • 閲讀 ( 99 )

使用sierra清理mac的儲存空間,或者直接使用automator

...可以使用類似的方法來建立下載的自動清理。仍然致力於Applescript?然後在評論中向我們展示如何使用經典的Mac指令碼語言建立此工作流。 ...

  • 發佈於 2021-03-17 02:14
  • 閲讀 ( 41 )