net use 命令在命令提示符中有效,但在 bat 文件中无效

net use 命令在命令提示符中有效,但在 bat 文件中无效
  • 这是一个通过 FTP 服务器连接到另一个网络的小型实验室网络。

  • FTP 服务器由另一个网络管理。

  • 该实验室网络基本上由 2 个客户端和 1 个服务器以及连接的其他几个 IP 设备组成。

  • 该实验室服务器上安装了 Active Directory。

  • 我们在每个网络上都有一个帐户。每个网络的这些帐户名称相同,密码也相同。

  • 密码中确实包含 % 符号和 $ 符号。

  • 尝试在实验室服务器启动时映射驱动器以指向 FTP 服务器。

  • 实验室服务器使用本地管理员帐户登录。

  • 我用来映射驱动器的命令:net use j:\xxxx\LabTransfer /user:\username“password”

在命令提示符中输入此命令时将起作用;但在 .bat 文件或 .cmd 文件中运行时无法运行

错误信息:“发生系统错误 86。指定的密码不正确。

为什么 net use 命令在命令提示符下起作用而在 .bat 文件中不起作用?

答案1

百分号 ( %) 是一种特殊情况。在命令行中,它不需要引用或转义,除非使用两个百分号来表示变量,例如%OS%。但在批处理文件中,您必须使用双百分号 ( %%) 才能产生单个百分号 ( %)。将百分号括在引号中或在它前面加上插入符号不起作用。

[…]

  • echo The ratio was 47%
    • 如果从批处理运行,则百分号将被忽略。
  • echo The ratio was 47%%
    • 如果从批处理运行,则百分号会输出一次。

来源

相关内容