【问题标题】:what could cause PUSHD to fail?什么可能导致 PUSHD 失败?
【发布时间】:2010-03-09 18:01:38
【问题描述】:

我有一个完全依赖 PUSHD 的大型脚本。然而突然当我输入pushd \\server1\dir1 我得到:

C:\Documents and Settings\userNameHere>pushd \\server1\dir1
' '
CMD does not support UNC paths as current directories.

好的,我知道 CMD 不支持 UNC 路径。这就是我使用 PUSHD 的原因。当我搜索这个时,我发现很多帖子说“当你遇到这条关于 UNC 路径的消息时,你应该使用 PUSHD!”。废话,我遇到了那个消息使用PUSHD。

我尝试使用CMD /E:ON,因为显然 PUSHD 仅在启用命令扩展时才有效。结果相同。

我查看是否以某种方式用完了驱动器号(因为 PUSHD 从 Z: 开始并向后查找驱动器号)。没有。

我尝试在 c:\ 目录(cd c:\ 然后pushd \\server1\dir1)启动我的 cmd。

我确认该驱动器在那里并且我可以通过 Windows 资源管理器访问它。

现在我没有主意了。

推送参考:Link

【问题讨论】:

    标签: batch-file dos


    【解决方案1】:

    好的,据我所知,这个问题的答案是,如果你在 Y: 在你的映射驱动器中,那么 pushd 将不起作用。所以你需要做net use y: /delete(或其他驱动器号)然后使用pushd映射你的驱动器。我已经映射了所有驱动器号,除了 Z 和 A。也许 Z 是保留的?我不知道。

    我的错误是检查 Z: 是否可用(未映射)。显然,如果您已将所有内容映射到并包括 Y:,那么它将不会映射 Z:。不知道为什么。

    【讨论】:

    • 您也可以在“我的电脑”中右键单击映射的驱动器,然后单击“断开连接”。
    【解决方案2】:

    您需要确保已启用命令扩展。

    注册表项是:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
    and/or
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
    

    设置为0x1(启用)或0x0(禁用)。用户特定设置优先于机器设置。

    还要确保有可用于pushd 命令的驱动器号。如果所有驱动器号都已映射并正在使用中,则pushd 命令将以与您详细说明的方式相同的方式失败。

    【讨论】:

      【解决方案3】:

      不会像往常一样将驱动器映射到字母会在“pushd”之前完成这个技巧......就像你的例子一样

      净使用 E: \\\\server1\\dir1 推E:\ …… 流行音乐

      【讨论】:

      • pushd 不应该依赖于网络使用。 pushd 的重点是“弄清楚”:映射驱动器并将密码更改为它。
      猜你喜欢
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 2012-05-12
      相关资源
      最近更新 更多