このタスクでは、スクリプト ファイルをトリガーするフォルダー アクションを使用します。以下は、スクリプトをトリガーする可能性のあるフォルダーに関連するイベントと、対応する特別なハンドラーです。
- フォルダが開かれている —
on opening folder window for this_folder
- フォルダが閉じられています —
on closing folder window for this_folder
- 1 つまたは複数のアイテムがフォルダーに追加された
on adding folder items to this_folder after receiving these_items
- 1 つまたは複数のアイテムがフォルダーから削除された —
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
ローカルのスクリプト フォルダーのフォルダー アクション フォルダーにスクリプト ファイルを保存します。フォルダーがまだ存在しない場合は、自分で作成します。そうすることで、スクリプトを実行することさえできます。これが適切に機能するためには、アプリケーション/アプリケーション バンドルではなく、保存したスクリプト ファイルを目的のフォルダに添付する必要があります。これをする...
- 目的のフォルダを右クリックします
- 下部にあるメニュー項目「Folder Actions Setup」をクリックします
- 表示されるダイアログで保存したスクリプトを見つけます
- 「添付」をクリック
- [フォルダ アクションの設定] ウィンドウを閉じます。
これが完了したら、スクリプトを実行する準備が整いました。
補遺:フォルダーに機密情報が含まれている場合は、ユーザー 57368 が述べているように、「AppleScript を使用してシステムをリモートで保護することはおそらく不可能である」ことに注意してください。