web-dev-qa-db-ja.com

コマンドラインツールへのシェル拡張の作成

ファイル/フォルダーパスを唯一の引数として受け入れる既存のコマンドラインツールがあります。

呼び出されたときに現在のパスでコマンドラインツールを実行するWindowsエクスプローラーシェル拡張機能を作成したいと思います。

有名なOpen command line hereと同じですが、cmd.exeとはツールが異なります。

それは可能ですか?それを行う方法は?

5
cheesus

レジストリエディタの使い方を知っていれば、これを行うにはかなり簡単な方法があります。

まず、regeditを開き、HKEY_CLASSES_ROOT\Directory\Shellに移動します。

これらのキーを追加できる場所がいくつかあります。HKEY_CLASSES_ROOT\Directory\Shellfoldersのコンテキストメニューにオプションを追加します。

そこにはいくつかの既存のキーが必要です。特に、cmdOpen command window hereオプションです。

そのフォルダに入ったら、新しいキー(right click -> New -> Key)を作成して、好きな名前を付けましょう。次に、(Default)値のデータを、Windowsエクスプローラーのコンテキストメニューに表示したいものに変更します。

After you've created the key and changed the (Default) value's data

新しいキーの下に、commandという別のキーを作成し、その(Default)データを実行するコマンドに設定する必要があります。現在のフォルダには%Vを使用できます。使用できる引数の詳細については、この質問を参照してください。 コンテキストメニューのシェルコマンドを作成するときに使用できる特別な変数

ここで、Windowsエクスプローラーの背景(エクスプローラーの右側のペインの空白)をクリックしたときにオプションを追加する場合は、同じことを行う必要がありますが、HKEY_CLASSES_ROOT\Directory\Shell\Backgroundにキーを追加します。

Example of a key in both the background and folders directory

特定のファイル拡張子のコンテキストメニューにオプションを追加する場合は、適切なクラスを見つけて、そのShellフォルダーに次のように別のキーを追加する必要があります。

Add a Shell option to jpgs

6
jValdron