3

我正在使用批处理文件从网络访问一些文件。

我在用

pushd \\Network\path 

导航到网络目录以启动一些脚本

我的 bat 文件工作得非常好,直到今天早上我看到“返回 CMD 的 cmd 不支持将 UNC 路径作为当前目录”。

我在使用 cd 而不是 pushd 导航到网络目录时看到了此错误消息,但我可以弄清楚为什么我在以前工作的 bat 文件中出现错误。

而且我确实确保网络位置在线并且可以通过其他方式访问。

4

2 回答 2

11

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

于 2015-07-15T17:36:56.947 回答
2

来自pushd /?

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

net use执行后是否显示任何映射的驱动器pushd

如果您没有收到某种网络授权错误,请确保启用了命令扩展(我不确定为什么不会。)

cmd /x将为当前 CMD 会话启用扩展。在执行批处理脚本之前尝试一下。

“主开关”在HKEY_CURRENT_USER\Software\Microsoft\Command Processor. EnableExtensions应该(DWORD) 1

于 2013-04-05T16:59:39.537 回答