我正在使用批处理文件从网络访问某些文件。
我正在使用
pushd \\Network\path
导航到联网目录以启动某些脚本
我的bat文件工作得很好,直到今天早上我看到“cmd返回CMD不支持UNC路径作为当前目录”。
在使用cd而不是pushd导航到网络目录时,我看到了此错误消息,但我可以弄清楚为什么我收到以前正在运行的bat文件的错误。
我确实确保网络位置在线并且可以通过其他方式访问。
答案 0 :(得分:9)
请务必检查您的驱动器号码是否用尽。如果你有一个流氓脚本在驱动器完成后没有使用popd,或者在它弹出之前崩溃,你最终可能会得到一堆垃圾映射驱动器。很容易检查,因为他们会出现在net use
和"我的电脑"中。出于某种原因,cmd会给出这个神秘的错误(CMD does not support UNC paths as current directories.
)而不是告诉你它用完了要映射到的驱动器。
答案 1 :(得分:1)
来自pushd /?
:
如果启用了命令扩展,则PUSHD命令接受网络 除了正常的驱动器号和路径之外的路径。如果是网络 路径被指定,PUSHD将创建一个临时的驱动器号 指向指定的网络资源,然后更改当前 驱动器和目录。
执行net use
后,pushd
是否会显示任何映射的驱动器?
如果您没有收到某种网络授权错误,请确保启用了命令扩展(我不确定它们为什么不会。)
cmd /x
将启用当前CMD会话的扩展。在执行批处理脚本之前尝试使用它。
“主开关”位于HKEY_CURRENT_USER\Software\Microsoft\Command Processor
。
EnableExtensions
应为(DWORD) 1