我希望在打开我的特定文件夹时运行AppleScript。然后,根据输入,关闭文件夹或保持打开状态。所有这一切都没有打开文件夹。所以,基本上:
1)尝试打开文件夹
2)文件夹无法打开,但弹出窗口
3-A)如果用户点击确定文件夹打开
3-B)如果用户点击取消,它就会退出脚本,让文件夹保持未打开状态。
我该怎么做?请记住:文件夹无法在后台打开,只有在用户按下OK时才能打开。帮助
答案 0 :(得分: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
在您的本地脚本文件夹的文件夹操作文件中保存您的脚本文件。如果文件夹尚不存在,请自行创建文件夹。这样做将允许您的脚本甚至运行。现在,为了使其正常运行,您需要将保存的脚本文件 - 不应用程序/应用程序包 - 附加到所需的文件夹。要做到这一点......
完成此操作后,您的脚本就可以运行了。
附录:如果您的文件夹包含机密信息,请注意,如user57368所述,“可能无法使用AppleScript远程保护系统。”
答案 1 :(得分:0)
您需要包含文件夹或磁盘映像的应用程序包,而不是普通文件夹。如果您使用加密的磁盘映像,则用户在不遵循您的首选过程的情况下访问内容将更加困难,但请注意,当您使用AppleScript时,可能无法使系统远程安全。
如果您只想在允许用户读取数据之前提交许可协议或其他静态通知,请阅读hdiutil
手册页,了解如何创建在安装时提供许可协议的磁盘映像。