Windows 密码中的 & 符号

Windows 密码中的 & 符号

我的 Perforce 帐户的密码包含与号 (&),当我尝试使用某些 P4 命令时,出现以下错误:

Perforce password (P4PASSWD) invalid or unset.

我感觉这与&符号有关,导致密码无法在 Windows 命令 shell 中识别,但是我对 bash 比对 Windows 更熟悉,所以我不确定如何处理这个问题。有没有 Windows 专家见过这样的事情?如果可能的话,我想避免更改密码,但以某种方式设置我的 P4PASSWD 环境变量,以便 shell 将其识别为正确的密码。

答案1

您说得对。& 符号是 Windows 命令行中的特殊字符。通常要转义它,您可以使用插入符号 (^) 或双引号。如果这两种方法都不起作用(或者您实际上没有在命令行中输入密码),我建议您更改密码。

例如:

C:\Windows\System32>echo a&b
a
'b' is not recognized as an internal or external command,
operable program or batch file.

C:\Windows\System32>echo a^&b
a&b

C:\Windows\System32>

答案2

参考语法:转义符、分隔符和引号

^ 转义字符。

在命令符号前添加转义字符可将其视为普通文本。当管道或重定向您应该在以下任何字符前加上转义字符:& \ < > ^ |

^\ ^& ^| ^> ^< ^^

因此,在 Windows 命令 shell 中,您需要使用^&而不是&来转义&

相关内容