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