2017-07-16 57 views
0

說我有一個類似的子路徑一堆文件夾:使用AppleScript的打開文件指定文件夾下

Folder 1 
    Do 
    Re 
     Mi 
     <Files> 
Folder 2 
    Do 
    Re 
     Mi 
     <Different Files> 

我知道我可以使用tell application Finder to open "Macintosh HD:Users: ...打開文件夾。有什麼辦法排隊彈出選擇我想要輸入的Folder 1Folder 2哪一個,然後將其輸入到上述命令中?例如,如果我選擇Folder 1,它將轉到...Folder 1/Do/Re/Mi,而如果我選擇Folder 2,則轉到...Folder 2/Do/Re/Mi

我試過的一件事是將do shell script與concatenate結合得到do shell script "open " & variable & "/Do/Re/Mi/",但如果文件名不止一個單詞,則代碼將失敗。

+0

你可以通過用引號括起來的'do shell script「打開\」「&variable&」/ Do/Re/Mi/\「」' ? – Kamdroid

回答

0
  • 設置基本文件夾
  • 檢索基文件夾
  • 的所有文件夾的名稱創建一個列表
  • 選擇項目
  • 串聯的路徑和打開文件夾

對於示例(將baseFolder設置爲父文件夾的別名Folder 1Folder 2

set baseFolder to path to home folder 
set folderList to {} 
tell application "Finder" to set allFolders to name of folders of baseFolder 
repeat with i from 1 to (count allFolders) 
    set end of folderList to (i as text) & space & item i of allFolders 
end repeat 
set chosenItem to choose from list folderList 
if chosenItem is false then return 
set chosenIndex to word 1 of item 1 of chosenItem 
set selectedFolder to item chosenIndex of allFolders 
set destinationFolder to (baseFolder as text) & selectedFolder & ":Do:Re:Mi:" 

tell application "Finder" 
    if exists folder destinationFolder then 
     open folder destinationFolder 
    else 
     display dialog "Sorry, the folder does not exist" 
    end if 
end tell