2012-06-23 60 views
1

我想打開一個特定的文件夾時運行一個applescript。然後,根據輸入,關閉文件夾或將其保持打開狀態。所有這些都沒有打開文件夾。所以,基本上:如何在打開文件夾時運行腳本?

1)嘗試打開文件夾

2)文件夾不開,但窗口彈出

如果用戶單擊確定文件夾3-A)打開

3- B)如果用戶單擊取消,它只是退出腳本,保持未打開文件夾。

我該怎麼做?請記住:該文件夾無法在後臺打開,只有在用戶按下確定後才能打開。幫幫我?

回答

1

對於此任務,您需要使用文件夾操作,這會觸發腳本文件。以下是涉及可能觸發腳本的文件夾以及特殊相應處理程序的事件。

  • 的文件夾被打開 - on opening folder window for this_folder
  • 的文件夾關閉時 - on closing folder window for this_folder
  • 一個或多個項目被添加到文件夾on adding folder items to this_folder after receiving these_items
  • 一個或多個項目被從文件夾中刪除 - on removing folder items from this_folder after losing these_itmes
  • 移動文件夾窗口 - on moving folder window for this_folder

第一個子彈是你在這種情況下將關注的內容。正如子彈所暗示的,只有當文件夾實際打開時纔會觸發腳本。 然而,你可以簡單地加入這一行,在腳本的最開始破解解決這個問題,用自己的方式:

tell application "Finder" to close first window whose target is this_folder 

這裏是完整的腳本:

on opening folder window for this_folder 
    tell application "Finder" 
     close first window whose target is this_folder 
     -- the window may appear briefly, but at least you've accomplished your goal 

     display dialog "Open folder " quoted form of the name of this_folder & "?" buttons{"Yes,"No"} default button 1 cancel button 2 
     -- pressing the "No" button is exactly the same as pressing the "Cancel" button on a regular dialog, and the script terminates 

     make new Finder window with properties {target:this_folder} 
    end tell 
end opening folder window 

保存您的SCRIPT文件夾中的文件夾您當地的文件夾文件夾中的文件夾。自己創建文件夾,如果它不存在。這樣做可以讓腳本甚至可以運行。現在,爲了正常工作,您需要將保存的腳本文件而不是應用程序/應用程序包附加到您所需的文件夾。去做這個...

  1. 執行您想要的文件夾
  2. 單擊右鍵單擊菜單「文件夾操作設置」在底部
  3. 找到您保存的腳本出現
  4. 點擊「安裝」
  5. 在對話框中
  6. 關閉「文件夾操作設置」窗口

一旦你做到了這一點,你的腳本是蓄勢待發。

附錄:如果您的文件夾包含機密信息,請注意,如user57368所述,「使用AppleScript可能無法使系統遠程安全。

+0

它本地不安全。 當用戶在列視圖中導航或用戶在列表視圖中擴展文件夾時,文件夾操作不會被觸發 – jackjr300

+0

有什麼辦法讓文件夾操作監視所有文件夾? – Jouster500

0

而不是一個普通的文件夾,你想要一個包含文件夾或磁盤映像的應用程序包。如果您使用加密磁盤映像,用戶在訪問內容時將更加困難,而無需遵循您的首選過程,但要注意,當您使用AppleScript時,可能無法使系統甚至遠程安全。

如果您只想在允許用戶讀取數據前提交許可協議或其他靜態通知,請閱讀hdiutil手冊頁以瞭解如何創建磁盤映像,以便在安裝時顯示許可協議。

相關問題