Windows 10 Creators Update (Version 1703)を適用したところ、エクスプローラのShift+右クリックで現れるメニューから「コマンドウィンドウをここで開く(W)」が消えてしまい、代わりに「Powershell ウィンドウをここに開く(S)」が現れるようになっているようです。
↑左:Creators Update前 / 右:CreatorsUpdate後のメニュー項目
cmdの機能も代替できるからPowerShellを使ってくれというMSからのメッセージなのかもしれませんが、個人的にはPowerShellは日常的には必要としていません。
私の主に使用しているマシンでは「PowerShellウィンドウをここに開く」を実行するとコマンド入力が可能になるまで数秒待たされます。また、以下のようにcmd.exeの80倍以上のメモリを消費するようです。
↑cmd.exe及びPowerShellをただ開いただけの状態でのメモリ消費量。複数ウインドウ開いて作業することも多いと思われるが、同様のメモリ量が各ウインドウ(プロセス)ごとに確保される模様。
といった理由から、体感としても実際のシステムリソースの消費量からしてもPowerShellをcmdの代替として今後の日常作業に利用しようとは思いません*1。
Creators Update適用後も、「ファイル名を指定して実行」でcmdを実行することは可能ですが、「コマンドウィンドウをここで開く」から実行した方がカレントディレクトリが指定されている分だけ使い勝手が良いのです。
このため、「コマンドウィンドウをここで開く」を復活させようと思います。と、言っても基本的には以下の記事の通り作業しただけです。
Windowsスマートチューニング (424) Win 10 IP編: <コマンドウィンドウをここで開く>を復活させる | マイナビニュース
個人的にはファイルと同様に、レジストリキー毎に所有者の概念があることを知らず、新たな知見が得られました。その辺も含めて以下にメモしておきます。
- 削除前のHideBasedOnVelocityId値
>reg query HKEY_CLASSES_ROOT\Directory\Background\shell\cmd /v HideBasedOnVelocityId HKEY_CLASSES_ROOT\Directory\Background\shell\cmd HideBasedOnVelocityId REG_DWORD 0x639bc8
↑元に戻したければHideBasedOnVelocityIdに0x639bc8を設定する。
- HideBasedOnVelocityId値の削除はエラーになる
>reg delete HKEY_CLASSES_ROOT\Directory\Background\shell\cmd /v HideBasedOnVelocityId レジストリ値 HideBasedOnVelocityId を削除しますか? (Yes/No) y エラー: アクセスが拒否されました。
↑前述のMynaviの阿久津さんの記事にあるように所有者がTrustedInstallerのため、管理者で実行したコマンドプロンプトでもエラーになる。regコマンドでは所有者の変更が行えないため、記事通りregeditのGUIで作業した。
- 所有者のTrustedInstallerへの戻し方
前述のMynaviの阿久津さんの記事では、regeditのGUIで所有者を自分のアカウントに変更したままとなっていますが、削除後に所有者が自分アカウントである必要はありません。HideBasedOnVelocityId値の削除を行った後は、念のため*2元のTrustedInstallerに所有者を戻しておきたいと思います。
所有者を自分アカウントに変更した時と同様に、TrustedInstallerと入力してもそんなアカウントは無いと怒られるので、以下の通り入力して[名前の確認]を押せば元のTrustedInstallerに戻ります。
NT Service\TrustedInstaller
- 作業後のメニュー項目
↑PowerShellを非表示にする設定は行っていないため「コマンドウィンドウをここで開く(W)」と「Powershell ウィンドウをここに開く(S)」が共存した状態になります。個人的にはPowerShellもたまに使うので、これはこれで便利です。
以上。
*1:もちろんPowerShellでなければ実現できないスクリプトの実行時などは使いますが。