Windows 7 のライブラリ フォルダーにコンテキスト メニューを追加する方法

Windows 7 のライブラリ フォルダーにコンテキスト メニューを追加する方法

Windows 7 PC で開発環境の設定を終えました。コマンド ラインとターミナルの使用のために、Windows マシンでターミナルを使用する人にとっては素晴らしい Console2 というプログラムをインストールしました。

私が必要としていた重要なことの 1 つは、ターミナル内のフォルダーに常にアクセスしなくてもすばやくアクセスできる機能でしたcd /directroy/name/etc/etc。そのため、私の目標は、エクスプローラー内のフォルダー内で右クリックして表示されるコンテキスト メニューでした。

私は以下のレジストリキーの変更/追加でこれを実現できました。

[HKEY_CLASSES_ROOT\Directory\shell\open_console]
@=Open Console2 Here
Icon=C:\Program Files\Console2\Console.ico

[HKEY_CLASSES_ROOT\Directory\shell\open_console\Command]
@=C:\Program Files\Console2\Console.exe -d "%v"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\open_console]
@=Open Console2 Here
Icon=C:\Program Files\Console2\Console.ico

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\open_console\Command]
@=C:\Program Files\Console2\Console.exe -d "%v"

うまく動作し、フォルダーのパスでターミナル ウィンドウを 2 つの方法で開くためのコンテキスト メニューが表示されるようになりました。

  1. フォルダ名を右クリックすると、「ここでConsole2を開く」が表示されます。
  2. フォルダーを開いてバックグラウンドで右クリックすると、ターミナルを開くための同じコンテキスト メニューも表示されます。

現在、私の問題は、Windows ライブラリを使用してフォルダーや作業領域にアクセスすることが多いことです。これにより、フォルダーに直接移動するのではなく、ライブラリを介してフォルダーにアクセスすると、コンテキスト メニューが機能しなくなります。

たとえば、エクスプローラーを開いて...

E:\Server\htdocs\labs\javascript\SampleJSProjectその後、カスタム コンテキスト メニューを表示して使用できるようになります。

ただし、ショートカット/ライブラリを使用して同じフォルダーにアクセスすると、パスは次のようになります...

Libaries\Server Labs\javascript\SampleJSProjectそして、ターミナルを開くためのコンテキスト メニューが表示されなくなりました。ただし、アドレス領域をクリックすると、上記のように正しいフル パスが表示されます。

どこかに別のレジストリ キーを追加するなど、簡単な解決策であることを期待していますが、どこに追加するかはわかりません。

何かアイデアや解決策をお持ちの方はいらっしゃいますか?

答え1

ここでのポイントは、ライブラリ フォルダーには独自のキーがあることです。

奇妙なことに、これは「LibraryFolders」なので、必要な効果を得るにはそのキーを変更する必要があります。

たとえば、ライブラリ フォルダーに「ここでコマンド ウィンドウを開く」コンテキスト エントリを追加するには、次の reg を使用します。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\LibraryFolder\Background]

[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell]

[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\cmd]
@="@shell32.dll,-8506"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\cmd\command]
@="cmd.exe /s /k pushd \"%V\""

HTH

-(e)

答え2

さらに詳しくsweetlilmre の回答:

編集権限がない場合HKEY_CLASSES_ROOT(私の会社のラップトップで発生した問題)、 を編集することもできますHKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\cmd\command。とそのサブキー
を作成する必要があるかもしれませんが (私はそうしました)、空のキーを作成するにはこれで十分です。は別の名前にすることもできますが、重要なのはそのキーの値 (コンテキスト メニューに表示されるテキスト) と、その値が実行されるキーだけです。をコマンドとして使用するにはどうやら十分なようです。右クリックしたディレクトリでコマンド ラインが自動的に起動し、追加のパラメーターは必要ありません (少なくとも私が使用している Win 7 Enterprise では)。LibraryFolder
cmdcommandcmd.exe

私はレジストリ編集スクリプトにあまり詳しくないので、この作業は手動で行いました。上記の情報をスクリプトで表現する方法を知っている方がいらっしゃいましたら、この回答に自由に編集してください。

ボーナス: 「Icon」という文字列キーcmd(または任意の名前) を追加し、「cmd.exe」に設定すると、コンテキスト メニュー エントリにもアイコンが表示されます。

上記の手順を実行した後のレジストリの外観については、次の画像を参照してください (前述のとおり、LibraryFolderは の子ですHKEY_CURRENT_USER\Software\Classes)。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

関連情報