Batch Scripting:传递包含插入符号的参数密码

时间:2015-07-04 01:22:56

标签: batch-file cmd scripting arguments caret

所以我有了下面的批处理脚本( 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)的值,

注意:我有一个限制,因为这是一个密码我不想传递这样的东西传递^^^^ Word我想找到一个解决方案,允许我只传入Pass ^ Word as论证。

1 个答案:

答案 0 :(得分:3)

^是cmd中的转义字符。如果你要在密码中使用它,那么你必须使用它两次,即^^来获得一个密码。

例如,如果您输入pass^^word,则您的密码将为pass^word

替代方案可以是在密码周围使用"双引号。喜欢:“传递^字”。这将解决你的问题。

希望这会有所帮助。