11

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

4

3 回答 3

20

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

  • 打开自动机
  • 创建一个新的Service
  • 将顶部的顶部两个下拉菜单设置为“服务接收files or folders在中选择Finder.app
  • 将 Pass 输入设置为as arguments
  • 编写你的脚本(见下文)。
  • 保存并选择服务名称

您的 Automator 窗口应如下所示:截屏

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

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

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

如果您假设它们都在同一个存储库中,您可以这样做:

cd $(dirname $1); hg add $@
于 2012-09-25T13:35:26.797 回答
15

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

于 2010-11-18T14:22:11.660 回答
2

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

于 2010-11-20T07:30:54.000 回答