批处理脚本:传递包含脱字符的参数密码
Batch Scripting: Pass argument password containing caret character
所以我有以下批处理脚本 (test.bat):
@echo off
set usernameArgument=%1
set passwordArgument=%2
echo Password Argument: %passwordArgument%
在 CMD 中,如果我使用具有脱字符“^”字符的密码参数调用它,脱字符将被删除:
C:\> test.bat UserName Pass^Word
输出:Password Argument: PassWord
有没有一种方法可以使用脱字符获取 passwordArgument 字段 (%2) 的值,
注意:我有一个限制,因为这是一个密码,我不想传递类似这样的 Pass^^^^Word 我想找到一个解决方案,让我只传递 Pass^ Word 作为参数。
^
是cmd中的转义字符。如果你必须在密码中使用它,那么你必须使用它两次,即 ^^
获得一个密码。
例如,如果您输入 pass^^word
,那么您的密码将为 pass^word
。
替代方法是在密码周围使用 "
双引号。喜欢:"pass^Word"。这将解决您的问题。
希望对您有所帮助。
所以我有以下批处理脚本 (test.bat):
@echo off
set usernameArgument=%1
set passwordArgument=%2
echo Password Argument: %passwordArgument%
在 CMD 中,如果我使用具有脱字符“^”字符的密码参数调用它,脱字符将被删除:
C:\> test.bat UserName Pass^Word
输出:Password Argument: PassWord
有没有一种方法可以使用脱字符获取 passwordArgument 字段 (%2) 的值,
注意:我有一个限制,因为这是一个密码,我不想传递类似这样的 Pass^^^^Word 我想找到一个解决方案,让我只传递 Pass^ Word 作为参数。
^
是cmd中的转义字符。如果你必须在密码中使用它,那么你必须使用它两次,即 ^^
获得一个密码。
例如,如果您输入 pass^^word
,那么您的密码将为 pass^word
。
替代方法是在密码周围使用 "
双引号。喜欢:"pass^Word"。这将解决您的问题。
希望对您有所帮助。