10

我想将 .exe 文件扩展名与启动 wine 的 shell 脚本相关联。做这个的最好方式是什么?

根据我收集到的信息,我需要创建一个名为 wine 的 AppleScript,但是如何在 AppleScript 中获取输入文件的名称?如果有更好的方法可以做到这一点,请告诉我,但据我所知,这是最好的方法。

4

2 回答 2

10

您还可以使用 Automator 将您自己的 bash、python 或 ruby​​ 脚本包装在“应用程序”中。

  1. 打开 Automator 并选择创建一个应用程序。

  2. 找到“Run Shell Script”动作,双击或拖动到脚本区域。

  3. 选择所需的解释器(bash、其他 shell、python 或 ruby​​)。

  4. 将“传递输入”选项设置为“作为参数”。(在自动机模型中,应用程序“接收文件和文件夹作为输入”;因此这让您的脚本将文件名视为命令行参数)。

  5. 在编辑区域中输入您的 shell 脚本。在 bash 上,使用“$@”作为命令行参数列表(单独引用以保护嵌入的空格)。

您现在可以保存脚本(它将获得一个.app扩展名),并将其移动到 Applications 文件夹或其他合理的位置。它可以与文件类型相关联,就像任何其他应用程序一样。

注意:这适用于山狮(10.8);有人可以评论 Automator 能够做到这一点多长时间吗?

于 2013-10-06T19:37:13.703 回答
2

您可以使用 AppleScript 应用程序来执行此操作 - 文件被传递给打开的处理程序,与 droplet 相同,例如:

on open theFiles
    set arguments to ""
    repeat with anItem in theFiles
        set arguments to arguments & space & (quoted form of POSIX path of anItem)
    end repeat
    do shell script "/path/to/wine" & arguments
end open

要将特定文档类型与您的应用程序相关联,您首先需要将信息添加到应用程序的信息属性列表 ( Info.plist ) 中,以告知 Launch Services 它可以处理哪些类型的文档。请参阅 Apple 的基于文档的应用程序概述(或查看其他应用程序中的设置)。

于 2011-08-28T22:36:24.473 回答