批处理文件(.bat):将变量设置为包含百分比(%)的值

时间:2017-11-10 18:50:00

标签: batch-file

假设我有一个批处理文件,我在其中设置了一个名为PASSWORD的变量:

set PASSWORD=Pass123%

如果我这样做:

echo %PASSWORD%

我注意到%被忽略了。输出是:

Pass123

我不希望%被忽略。我知道一种方法是在它前面加一个%:

set PASSWORD=Pass123%%

还有其他办法吗?我尝试使用setlocal和引号,但它没有用。

1 个答案:

答案 0 :(得分:0)

延迟扩展解决方案

似乎引用整个set条款对我有用

set "password=Pass123%"
echo %password%

注意:这仅适用于延迟扩展。要在启用延迟展开时检索%password%的内容,请尝试以下操作:

解决方案的延迟扩展

set "password=Pass123%"
for /f "tokens=2 delims==" %%A in ('set password') do echo %%~A