转义 cmd 中的特殊字符



我有一个Windows .bat脚本,我尝试在其中运行参数中带有密码的命令。我希望能够使用的密码是 ~!@#$%^&*()_+|-=][{}';:"/.>?,< .

从我在这里读到的内容来看,我应该用^逃避^&|<>.从我的假设来看,我应该带着"逃脱".

这给了我类似的东西:

runme.exe /password:"~!@#$%^^^&*()_+^|-=^][{}';:"/.^>?,^<"

但它不起作用 - 我的目标应用程序响应登录失败。

我应该如何转义所有这些字符才能在我的批处理中对密码进行硬编码(现在忽略安全问题)?

将密码中的引号加倍,并确保完整的密码也括在引号中:

runme.exe /password:"~!@#$%%^^^&*()_+^|-=][{}';:""/.>?,<"

试一试,但如果runme.exe的参数解析器需要引号作为密码的字符串封装器,那么它将无法正常工作。如果您需要在密码中使用引号,那么 runme.exe 需要提供一种转义它的方法!

runme.exe /password:~!@#$%%^^^&*()_+^|-=][{}';:"/.>?,<

最新更新