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

2009-10-28 07:00
このエントリーをはてなブックマークに追加

Windows XP のコマンドプロンプトで CD コマンドで UNC パスを利用しようとすると次のようなメッセージが出て失敗します。

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

これを回避するためには、net use コマンドでネットワークドライブの割り当てをすればよいのですが、一々面倒です。その場合には PUSHD コマンドを使うと、ネットワークドライブの割り当てを自動でしてくれます。

C:\>pushd \\server1\tmp

Z:\>

ドライブレターは Z: から Y:, X: と自動的に空いているものが割り振られます。POPD コマンドを使うと、ネットワークドライブの割り当てが解除され、もとのディレクトリに戻ります。

また、ネットワーク上に置かれたバッチファイルを UNC パス上から実行したときに、「上記の現在のディレクトリで CMD.EXE を開始しました。UNC はサポートされません。Windows ディレクトリを規定で使用します。」のメッセージが出ることがあります。

これについては、レジストリの設定で回避することができます。\HKEY_CURRENT_USER\Software\Microsoft\Command Processor に DisableUNCCheck という DWORD 値を作成し 1 をセットします。

レジストリエディタで "DisableUNCCheck" DWORD 値を作成したところ

これで、ネットワークパス上のバッチファイルで、UNC パスが利用できるようになります。上記は HKEY_LOCAL_MACHINE で設定すれば、ユーザごとではなく PC 全体の設定となります。なお、このレジストリ設定をしても CD コマンドでカレントディレクトリに UNC パスを設定することはできません。

1件のコメント

  1. 規定するの?

    コメント by BlogPetのusausa2009-10-28 14:14

Sorry, the comment form is closed at this time.

35 queries. HTML convert time: 0.147 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン