ファイル/フォルダーパスを唯一の引数として受け入れる既存のコマンドラインツールがあります。
呼び出されたときに現在のパスでコマンドラインツールを実行するWindowsエクスプローラーシェル拡張機能を作成したいと思います。
有名なOpen command line here
と同じですが、cmd.exe
とはツールが異なります。
それは可能ですか?それを行う方法は?
レジストリエディタの使い方を知っていれば、これを行うにはかなり簡単な方法があります。
まず、regedit
を開き、HKEY_CLASSES_ROOT\Directory\Shell
に移動します。
これらのキーを追加できる場所がいくつかあります。HKEY_CLASSES_ROOT\Directory\Shell
はfoldersのコンテキストメニューにオプションを追加します。
そこにはいくつかの既存のキーが必要です。特に、cmd
はOpen command window here
オプションです。
そのフォルダに入ったら、新しいキー(right click -> New -> Key
)を作成して、好きな名前を付けましょう。次に、(Default)
値のデータを、Windowsエクスプローラーのコンテキストメニューに表示したいものに変更します。
新しいキーの下に、command
という別のキーを作成し、その(Default)
データを実行するコマンドに設定する必要があります。現在のフォルダには%V
を使用できます。使用できる引数の詳細については、この質問を参照してください。 コンテキストメニューのシェルコマンドを作成するときに使用できる特別な変数
ここで、Windowsエクスプローラーの背景(エクスプローラーの右側のペインの空白)をクリックしたときにオプションを追加する場合は、同じことを行う必要がありますが、HKEY_CLASSES_ROOT\Directory\Shell\Background
にキーを追加します。
特定のファイル拡張子のコンテキストメニューにオプションを追加する場合は、適切なクラスを見つけて、そのShell
フォルダーに次のように別のキーを追加する必要があります。