たるだめ

のんびりとなんか書きます

WSL上のディレクトリにcmd(コマンドプロンプト)でアクセスする

WSL ファイルシステム上にあるディレクトリ(例:`\wsl$\Ubuntu-22.04\home\xxx`)にコマンドプロンプトでアクセスしたいときの対処。

問題

CMDでWSLのディレクトリにアクセスする方法がわらからない。

対応

pushd \\wsl$\Ubuntu-22.04\home\xxx

ターミナルではディレクトリが移動された状態になり、ネットワークドライブとして追加される。

ネットワークドライブ

事象

普通に CD しようとしても

CMD では UNC パスは現在のディレクトリとしてサポートされません。

と表示され移動することができない。

VSCode で開いている時に cmd でターミナルを開くと以下のように表示されやはりだめな模様。

terminal

余談だが、 Git Bash なら開ける。

Pushd コマンド

Pushd

ネットワーク パスを指定した場合、pushd コマンドは指定されたネットワーク リソースに最も高い未使用のドライブ文字 (Z: で始まる) を一時的に割り当てます。

今回のパス\\wsl$がネットワークパスなため、z ドライブが割り当てられた。