如何回显环境变量包含'&'在DOS批次?

时间:2011-09-21 07:27:09

标签: batch-file dos echo

当我输入:

set hi=Hello^&World!
echo %hi%

打印Hello并告诉我World不是命令

我想打印Hello& World!

怎么做?

3 个答案:

答案 0 :(得分:18)

这对我有用:

set "hi=Hello^&World!"
echo %hi%

输出

Hello&World!

答案 1 :(得分:4)

回显变量内容的唯一安全方法是在此处使用延迟扩展 如果使用百分比扩展,则取决于内容是否失败。

set "var1=Hello ^& World"
set "var2=Hello & World"
setlocal EnableDelayedExpansion
echo !var1!
echo !var2!
echo %var1%
echo %var2% -- fails

延迟扩展更有用,因为它不解释任何特殊字符 有关详情,请访问SO: How the parser works

答案 2 :(得分:2)

echo Hello ^& World!

工作

修改 所以问题不在于ECHO命令,而在于变量的赋值,正如@Bali正确指出的那样。