ゼオスTTのブログ

気が向いた時に、主にプログラミング関係の記事を書くつもり。しかし気が向かない。

「コマンド ウィンドウをここで開く」をcmd.exeからmingw64.exeに変更する

「コマンド ウィンドウをここで開く」を押すと、デフォルトではcmd.exeが起動する。
これをmingw64.exeが起動するよう変更するには、次のようにレジストリを編集すればよい*1

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd]
"Extended"=-
"NoWorkingDirectory"=-
"HideBasedOnVelocityId"=-
"Icon"="C:\\msys64\\mingw64.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd\command]
@="C:\\msys64\\mingw64.exe bash"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmd]
@="@shell32.dll,-8506"
"Icon"="C:\\msys64\\mingw64.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\cmd\command]
@="C:\\msys64\\mingw64.exe bash -c 'cd \"%V/\"; exec bash'"

せっかくなので、[Shift]を押す必要をなくしたり、横にmingw64.exeのアイコンを表示するようにもしてみた。

残念ながら、ASCII以外の文字が名前に含まれるフォルダの、アイコンを右クリックしての起動には失敗する*2

なお、mingw64.exe以外を起動したければ、上記を参考に各自レジストリを編集すればよい。

もちろん、レジストリの編集は自己責任

追記

2017年4月のCreators Updateから、PowerShellが標準のコマンドラインシェルとなり、標準では「コマンド ウィンドウをここで開く」が表示されなくなってしまった。
HideBasedOnVelocityId が追加されたことが原因のため、これを削除する行を追加した。

*1:権限がなく変更に失敗する場合は、該当キーの所有者やアクセス許可を変更すればよい。

*2:とはいえ、そんなフォルダを作ることはまずないので、実質無害である。