将脚本添加到MacOS Finder上下文菜单

时间:2010-11-18 13:35:06

标签: macos bash applescript finder automator

我想在finder上下文菜单中添加一个选项,调用hg add %1,其中%1是查找程序中所选文件的完整路径。
当然,我可以想到更多有用的案例,添加到上下文菜单中 有没有一种简单的方法可以做到这一点,不涉及安装任何第三方软件或编译语言编码和构建二进制插件?
就像使用脚本编辑器创建脚本并将其放在/Library/Contextual Menu Items/

中一样

3 个答案:

答案 0 :(得分:20)

自@ khachik的正确答案以来,Snow Leopard / 10.6 +的步骤已经改变。为了确保清楚,以下是步骤:

  • 打开Automator
  • 制作新的Service
  • 将顶部的前两个下拉菜单设置为“files or folders中的服务接收选定Finder.app
  • 将通行证输入设为as arguments
  • 编写脚本(见下文)。
  • 保存并选择服务名称

您的Automator窗口应如下所示: :screenshot

您现在可以在Finder中选择多个文件,然后从“服务”子菜单中执行您的服务。

对于您的脚本,我认为您需要以下内容。这会更改每个参数的目录,然后添加它。我正在使用for循环,因为Finder允许您选择不同文件夹中的多个文件(可能位于不同的存储库中)。

for f in "$@"
do
    cd $(dirname $f); hg add $f 
done

如果您认为他们都在同一个存储库中,您可以这样做:

cd $(dirname $1); hg add $@

答案 1 :(得分:15)

打开Automator,创建自定义工作流程。从Library选择Utilites,然后将Run shell script拖放到工作流程中。将Pass input设为As arguments。写在你的脚本中:hg add $1。然后File menu->Save as a Plugin,指定名称,选择plugin for FinderSave。右键单击该文件,选择More->Autamator-><PLUGIN_NAME>

答案 2 :(得分:2)

是的,我知道这是第三方软件 - 但为了更全面的概述 - http://www.abracode.com/free/cmworkshop/on_my_command.html。另一个使脚本编写更容易的工具是http://wafflesoftware.net/thisservice/将项目添加到服务菜单。