我有一个Windows .bat脚本,我尝试在参数中运行带密码的命令。我希望能够使用的密码是~!@#$%^&*()_+|-=\][{}';:"/.>?,<
。
根据我的阅读here,我应该^&|\<>
与^
一起逃脱。根据我的假设,我应该"
与\"
一起逃避。
这给了我类似的东西:
runme.exe /password:"~!@#$%^^^&*()_+^|-=^\][{}';:\"/.^>?,^<"
但它不起作用 - 我的目标应用程序响应登录失败。
如何逃避所有这些字符以便能够对我的批处理中的密码进行硬编码(现在忽略安全问题)?
答案 0 :(得分:14)
将密码中的引号加倍,并确保完整的密码也包含在引号中:
runme.exe /password:"~!@#$%%^^^&*()_+^|-=\][{}';:""/.>?,<"
答案 1 :(得分:1)
尝试一下,但如果runme.exe
的参数解析器需要引号作为密码的字符串封装器,那么它就不会起作用。如果你需要在密码中加上引号,那么runme.exe需要提供一种逃避它的方法!
runme.exe /password:~!@#$%%^^^&*()_+^|-=\][{}';:"/.>?,<