2010-11-18 11 views
10

hg add %1という名前のファインダコンテキストメニューに、%1が選択されたファイルの完全なパスであるオプションを追加したいとします。
もちろん、コンテキストメニューに追加すると便利だと思います。
サードパーティ製ソフトウェアのインストールやコンパイル言語のコーディングとバイナリプラグインの構築を含まない簡単な方法はありますか?
スクリプトエディタでスクリプトを作成し、それを/Library/Contextual Menu Items/にドロップするといいですか?MacOS finderのコンテキストメニューにスクリプトを追加する

+1

うーん...オープンAutomatorのは、カスタムワークフローを作成します。 'Library'から' Utilites'を選択し、 'Run shell script'をワークフローにドラッグアンドドロップします。 'Pass input'を' As arguments'に設定します。スクリプトに 'hg add $ 1'と書いてください。次に、ファイルメニュー - >プラグインを保存し、名前を指定し、Finderのプラグインを選択して保存します。ファイルを右クリックし、More-> Autamator->を選択し、お楽しみください。しかしここにプログラミングに関することは何もありません。 – khachik

+0

@khachik:それはまだ開発関連です。あなたはあなたのコメントを答えにする必要があります。 –

+0

@Philip Ok、実際には答えは... – khachik

答えて

15

自動化を開くには、カスタムワークフローを作成します。 LibraryからUtilitesを選択し、Run shell scriptをワークフローにドラッグアンドドロップします。 Pass inputAs argumentsに設定します。あなたのスクリプトに書きなさい:hg add $1。次に、File menu->Save as a Pluginを指定し、plugin for FinderSaveを選択します。ファイルを右クリックし、More->Autamator-><PLUGIN_NAME>を選択します。

+0

うわー、素晴らしい説明。私はプラグインとして保存する方法を見つけることができませんでしたが、私が得る唯一のオプションは、ワークフローまたはアプリケーションです。私はOS 10.6.4を実行しています – Petruza

+0

Automatorの 'File'メニューに' Save as a Plugin ... 'という項目はありませんか?私はヒョウを走らせています。そこには...「プラグインとして保存」がないのに、同等のものがあるはずです。 – khachik

+1

さて、私は今は10.6でサービスと呼ばれていることを発見しましたが、それは同じです。私はそれを作成するために管理され、うまく動作します、ありがとう!今問題は%1ファイルのパスに 'cd'する必要があります。どうすればいいのでしょうか?ありがとう! – Petruza

17

@ khachikの正解から、Snow Leopard/10.6 +の手順が変更されました。

  • オープンAutomatorを
  • は、上部にトップ2つのドロップダウンを設定し、新たなService
  • 「サービスはFinder.appfiles or folders選択受信」するために作成する:その明確に確認するために、ここでの手順ですパス入力をas argumentsに設定してください
  • スクリプトを作成します(そのことについては下記を参照してください)。
  • 保存し、Automatorのウィンドウは次のようになります

サービス名を選択します。 :screenshot

あなたは今、Finderで複数のファイルを選択し、[サービスのサブメニューから、あなたのサービスを実行することができます。

お使いのスクリプトでは、次のことが必要です。これは各引数のディレクトリに変更され、追加されます。 Finderでは異なるフォルダ(異なるリポジトリにある可能性があります)内の複数のファイルを選択できるため、forループを使用しています。あなたが想定した場合

for f in "[email protected]" 
do 
    cd $(dirname $f); hg add $f 
done 

彼らはあなたがこれを行うことができ、同じリポジトリ内のすべてです:

cd $(dirname $1); hg add [email protected] 
+1

Automatorは、パスを/ etc/pathsに定義されているものに設定した環境でスクリプトを実行しますが、〜/ .bash_profileを呼び出さない---> Automatorスクリプトから実行したいスクリプト/プログラムを見つけるためには、フルパスを使用するか、スクリプトの最初の行に "source〜/ .bash_profile"(引用符なし)を追加する必要があります – georg

関連する問題