16

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

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

这给了我类似的东西:

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

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

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

4

2 回答 2

16

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

runme.exe /password:"~!@#$%%^^^&*()_+^|-=\][{}';:""/.>?,<"
于 2012-04-24T12:11:44.477 回答
1

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

runme.exe /password:~!@#$%%^^^&*()_+^|-=\][{}';:"/.>?,<
于 2012-04-24T10:59:05.230 回答