1

我想在打开我的特定文件夹时运行一个applescript。然后,根据输入,关闭文件夹或保持打开状态。所有这些都无需打开文件夹。所以,基本上:

1)尝试打开文件夹

2) 文件夹打不开,但弹出窗口

3-A)如果用户点击确定文件夹打开

3-B)如果用户单击取消,它只是退出脚本,使文件夹未打开。

我怎样才能做到这一点?记住:文件夹不能在后台打开,只有用户按确定才能打开。帮助?

4

2 回答 2

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

将您的脚本文件保存在本地脚本文件夹的文件夹操作文件夹中。如果该文件夹尚不存在,请自行创建该文件夹。这样做将使您的脚本甚至可以运行。现在,为了使其正常运行,您需要将保存的脚本文件(不是应用程序/应用程序包)附加到您想要的文件夹。去做这个...

  1. 右键单击所需的文件夹
  2. 单击底部的菜单项“文件夹操作设置”
  3. 在出现的对话框中找到您保存的脚本
  4. 点击“附加”
  5. 关闭“文件夹操作设置”窗口

完成此操作后,您的脚本就可以开始使用了。

附录:如果您的文件夹包含机密信息,请注意,如 user57368 所述,“使用 AppleScript 可能无法使系统甚至远程安全。”

于 2012-06-23T03:53:26.520 回答
0

您需要一个包含文件夹或磁盘映像的应用程序包,而不是普通文件夹。如果您使用加密的磁盘映像,如果不遵循您的首选过程,用户将更难以访问内容,但请注意,当您使用 AppleScript 时,可能无法使系统甚至远程安全。

如果您只想在允许用户读取数据之前提供许可协议或其他静态通知,只需阅读hdiutil手册页以了解如何创建在安装时提供许可协议的磁盘映像。

于 2012-06-23T01:57:16.890 回答