2013-04-05 237 views
3

我正在使用批处理文件从网络访问某些文件。pushd \ network 路径返回CMD不支持将UNC路径作为当前目录

我使用

pushd \\Network\path 

导航到网络目录发起一些脚本

我的bat文件是工作完全正常,直到今天早上,我看到“CMD返回CMD不支持UNC路径,当前目录“。

我看到这个错误信息,当使用CD而不是pushd导航到网络目录,但我可以找出为什么我得到一个以前工作的bat文件的错误。

我确实确定网络位置是在线的并且可以用其他方式访问。

回答

1

pushd /?

如果启用了命令扩展的PUSHD命令接受网络中的除了正常的驱动器号和路径 路径。如果指定了网络 路径,PUSHD将创建一个临时驱动器号, 指向指定的网络资源,然后更改当前的 驱动器和目录。

pushd执行后,是否有任何映射驱动器出现在net use

如果你没有得到某种形式的网络授权的错误,确保启用了命令扩展(我不知道为什么他们不会。)

cmd /x将使当前CMD会话扩展。尝试执行批处理脚本之前。

“主开关”位于HKEY_CURRENT_USER\Software\Microsoft\Command ProcessorEnableExtensions应该是(DWORD) 1

7

一定还要检查你是否刚刚没有用完驱动器号。如果你有一个流氓脚本在驱动器完成后没有使用popd,或者在它弹出之前崩溃,那么最终可能会有一堆垃圾映射驱动器。易于检查,因为它们将显示在net use和“我的电脑”中。出于某种原因,cmd会给出这个神秘的错误(CMD does not support UNC paths as current directories.),而不是告诉你它已经用完了映射到的驱动器。