通過示例學習 AppleScript,第 1 集
我從未寫過任何 AppleScript,儘管我自從 2005 年開始使用 Mac,但我從未有過這種需求。
而且我總是覺得這很難理解,因為它的思維模式與我平時做的事情非常不同。
不管怎樣,今天我不得不寫一些,以下是我在一些搜尋、stackoverflowing 和 chatgpting 之後結果:
1 | tell application "Finder" |
我將描述一下這個腳本的功能,這樣以後我就可以記住了。
首先,我們要求 Finder 應用程序獲取當前活動窗口的絕對路徑:
1 | POSIX path of (target of front window as alias) |
你也可以這樣寫:
1 | tell application "Finder" to get the POSIX path of (target of front window as alias) |
這也是一種不錯的方式,在 shell 腳本中使用 osascript -e
將其與其他腳本結合使用,如下所示:
就像我在另一個腳本中所做的:
1 | finderPath=`osascript -e 'tell application "Finder" to get the POSIX path of (target of front window as alias)'` |
無論如何,我們將結果賦值給變量 currentFinderWindowPath
,使用如下結構:
1 | set currentFinderWindowPath to (...) |
程式碼如下:
1 | set currentFinderWindowPath to (POSIX path of (target of front window as alias)) |
然後我們結束 tell application "Finder"
塊,因為我們要 “與” 另一個應用程序 Terminal “交談”:
1 | tell application "Terminal" |
在這種情況下,我們告訴它運行 cd ...
命令,將當前活動文件夾更改為我們從 Finder 中檢索的文件夾。
然後我們運行 activate
命令。
AppleScript 手冊 中說這個命令 “將應用程序帶到前台,如果需要的話會啟動它”。