こんにちは!日々のPC作業を効率化するために、ショートカットキーを駆使している方は多いと思います。
今回は、Windows10のエクスプローラーで使える「カレントディレクトリ(今開いているフォルダ)でコマンドプロンプトを開く裏技」と、その時に発生するちょっと不思議な挙動(Zドライブの謎)についてご紹介します。
知っておくとトラブルシューティングにも役立つマニアックな知識ですよ!
1. 爆速でコマンドプロンプトを開く「Alt → F → P」
エクスプローラーで特定のフォルダを開いているとき、わざわざコマンドプロンプトを起動して cd コマンドで移動するのって面倒ですよね。
そんな時、エクスプローラーを開いた状態でキーボードを、 Alt ➔ F ➔ P の順番でポン・ポン・ポンと押すと、なんと「今開いているフォルダ」をカレントディレクトリとした状態で、コマンドプロンプトが爆速で起動します。
※ちなみに、Alt ➔ F ➔ R と押すと、PowerShellで開くことができます。
2. ネットワークフォルダで実行すると「Zドライブ」が勝手に生える!?
ここからが本題です。 このショートカット、ローカルの「Cドライブ」などのフォルダで実行すると普通に起動するのですが、「\\(円マーク・バックスラッシュ)」から始まるネットワーク上の共有フォルダ(UNCパス)で実行すると、妙なことが起こります。
なんと、勝手に「Zドライブ」というネットワークドライブが割り当てられ、そこがカレントディレクトリとして開くのです。
すでにZドライブが使われている場合は?
「もし、もうZドライブを他の用途で使っていたらどうなるの?」と思って試してみたところ、賢い(?)ことに、アルファベットを一つ遡って「Yドライブ」が自動で割り当てられました。
ちなみにPowerShell(Alt ➔ F ➔ R)だと?
同じUNCパスの状態でPowerShellを開こうとすると、こちらはドライブが割り当てられるような救済措置はなく、普通に「エラー」になって開けませんでした。
3. なぜ勝手にZドライブが割り当てられるのか?(これは仕様です)
結論から言うと、これはバグではなく「コマンドプロンプト(cmd.exe)の仕様」です。
古い歴史を持つコマンドプロンプトは、内部的に「UNCパス(\\server\folder 形式)を直接カレントディレクトリとして認識できない」という致命的な弱点を持っています。
そのため、Windows側が気を利かせて、
-
「あ、UNCパスでコマンドプロンプトを開こうとしてるな」
-
「このままだとエラーになっちゃうから、空いている一番後ろのアルファベット(Zドライブ)にこのフォルダを一時的にマッピング(割り当て)してあげよう」
-
「よし、これで開けたぞ!」
という自動の救済システムが働いているのです。挙動さえ知っていれば、むしろUNCパスをドライブレターに自動変換してくれる便利な機能とも言えますね。
⚠️ 注意:最近のWindows10/11では使えない?
非常に便利なこの「Alt ➔ F ➔ P」ですが、最近のWindows10のアップデート(およびWindows11)では、エクスプローラーのファイルメニューから「コマンドプロンプトを開く」という項目自体がひっそりと削除されてしまいました。そのため、現在は P を押しても反応しない環境が増えています。
代わりに現在は「PowerShellで開く(あるいはWindowsターミナルで開く)」が標準になっています。
【代替案】今すぐ使える最新の爆速起動ワザ
現在の一番おすすめな方法は、エクスプローラーの上部にある「アドレスバー」をクリック(または Ctrl + L)し、そこに半角で、
cmd
と打ち込んで Enter を押す方法です。これならUNCパスであっても(警告は出ますが)現在のWindows環境でも一瞬でコマンドプロンプトを開くことができますよ!
まとめ
ネットワークフォルダで作業しているときに、見慣れない「Zドライブ」や「Yドライブ」が急に現れると焦りますが、正体はWindowsの親切心(仕様)によるものでした。
OSのバージョンによってショートカットの挙動が変わるのもWindowsの面白い(?)ところですね。みなさんの環境ではまだ「Alt ➔ F ➔ P」は生き残っていますか?ぜひ試してみてください!
