Windows エクスプローラーで次のようにフォルダーを開いているとします。
キーボード ショートカットを使用するか、右クリックしてポップアップ メニューのオプションを選択することで、ここで Cygwin ターミナルを直接開くことができるようにしたいと考えています。また、特定のディレクトリでこの方法で MinGW、PowerShell、または Windows コマンド ターミナルを開く必要がよくあります。
今はターミナルを開いてパスをコピー&ペーストし、CD コマンドを使ってディレクトリを変更しています。しかし、何十年も毎日何十回もこれを実行する必要がある場合、もっと速い方法があるはずです。
ちなみに私は Windows 10 を使用していますが、おそらくもうすぐ Windows 11 に移行する予定です。
答え1
フォルダーの背景のコンテキスト メニューは、HKEY_CLASSES_ROOT\Directory\background\shell
レジストリ キーによって制御されます。たとえば、「Visual Studio で開く」エントリはAnyCode
サブキーによって制御されます。
コマンドプロンプトとPowerShell
Windows 10 にはすでに および のエントリがありますcmd.exe
がpowershell.exe
、デフォルトでは非表示になっています。 キーを押したままフォルダー ウィンドウの背景を右クリックすると、PowerShell のエントリを表示できます。 値をShift使用して PowerShell がインストールされている場合、コマンド プロンプトは非表示になります。HideBasedOnVelocityId
フォルダーの背景のコンテキスト メニューにコマンド プロンプトと PowerShell を常に表示し、長押しする必要がないようにするには、次の操作を行いますShift。
- キーを変更する権限を自分に付与します
shell
。- レジストリ エディターでキーを右クリックします。
- [権限] > [詳細設定] を選択します。
- 所有者を に変更し
Administrators
、「サブコンテナとオブジェクトの所有者を置き換える」と「すべての子オブジェクトのアクセス許可エントリを、このオブジェクトからの継承可能なアクセス許可エントリに置き換える」の両方をオンにします。 - [OK] をクリックして、[アクセス許可] ダイアログ ボックスを閉じます。
cmd
サブキーとサブキーの両方でPowerShell
、、、および値を削除するか、名前を変更Extended
しHideBasedOnVelocityId
ますShowBasedOnVelocityId
。
フォルダーの背景を右クリックすると、コンテキスト メニューに「ここでコマンド ウィンドウを開く」と「ここで PowerShell ウィンドウを開く」が表示されます。
新規エントリー
フォルダーの背景のコンテキスト メニューに新しいエントリを追加するには、レジストリ キーに新しいキーを作成しますHKEY_CLASSES_ROOT\Directory\background\shell
。
- 新しいキーの名前は任意の一意の名前にすることができますが、UI には表示されません。
- コンテキスト メニュー エントリのテキスト ラベルは、
(Default)
キーの値によって制御されます。 - エントリのオプションのアイコンは、
Icon
サブキーの文字列値によって制御されます。これは、ICO ファイルのファイル名、またはコンマで区切られたオプションの数値 ID を持つ PE ファイル (DLL/EXE) にすることができます。インデックスは、PE ファイルのアイコンの 0 から始まるインデックスの場合は負でない値、リソース ID の場合は負の値にすることができます。 - エントリをクリックしたときに実行されるプログラムと引数は、サブキー
(Default)
の値によって制御されますcommand
。プレース%V
ホルダー変数を使用して現在のディレクトリを表します。
MinGW Bashの例
私は、Git for Windows の一部として MinGW Bash をインストールしました。これは、.reg
フォルダーの背景コンテキスト メニューにそれを追加するファイルです。インストール ディレクトリは異なる可能性があります。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\bash]
@="Open in Bash"
"Icon"="C:\\Programs\\Development\\Git\\mingw64\\share\\git\\git-for-windows.ico"
[HKEY_CLASSES_ROOT\Directory\Background\shell\bash\command]
@="\"C:\\Programs\\Development\\Git\\bin\\bash.exe\""
これにより、コマンドが を使用しなくても、指定されたフォルダーで Bash が開きます。これは、%V
Windows がデフォルトでフォルダーを新しいプロセスの作業ディレクトリとしてプロセスを開始するためです (NoWorkingDirectory
キーに値が存在しない限り)。
Cygwin はもうインストールされていませんが、Bash のメニュー エントリも同様の方法で追加できる可能性があります。
Windows 11 では、同等のメニューに「ターミナルで開く」エントリが常に表示されますが、カスタマイズはより困難です。