Windowsコマンドプロンプトで「CMD では UNC パスは現在のディレクトリとしてサポートされません。」

Windows10の端末からサーバー上のフォルダにcdコマンドでカレントディレクトリを移動しようとすると以下のような表示が返されてしまいます。

 

C:\Users\test>cd \\server\test
'\\server\test'
CMD では UNC パスは現在のディレクトリとしてサポートされません。


よく運用でも、バッチファイルでUNCパスに対してコマンドを実行しようとすると、同様に「CMD では UNC パスは現在のディレクトリとしてサポートされません。」と表示されてコマンドが実行されない状態になります。


これを回避するには、netuseコマンドでネットワークドライブを事前に割り当てる事で対応できます。

 

net use z: \\コンピュータ名\共有名 パスワード /user:ユーザー名 /persistent:YES


また、ドライブの割り当てを行わなくても、UNCパス上でコマンドを実行できる便利なコマンドが「pushd」です。

pushd ¥¥testserver¥share
cd ¥¥testserver¥share

 

 

これにより、パスを指定する事により、カレントディレクトリにしているディレクトリを指定できます。

 

>>Pushd(microsoft

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771180(v=ws.10)?redirectedfrom=MSDN 

 

Pushd コマンドを使用するたびに、1 つのディレクトリを使用するために格納されます。 ただし、 pushdコマンドを複数回使用することによって、複数のディレクトリを格納できます。

pushdコマンドで格納されているディレクトリに、現在のディレクトリを変更するのにには、 popdコマンドを使用できます。 Popdコマンドを使用する場合は、スタックの一番上のディレクトリがスタックから削除され、現在のディレクトリがそのディレクトリに変更されます。

 


上記はマイクロソフトの公式サイトの抜粋です。


永続的にパスを割り当てる場合は、netuseでドライブに割り当てでよいかと思います。状況に応じて使い分ければいいかと思いますね。