当我输入:
set hi=Hello^&World!
echo %hi%
这段代码会打印出“Hello”并告诉我“World is not a command”。
我希望它能够打印出“Hello&World!”。
如何实现呢?
当我输入:
set hi=Hello^&World!
echo %hi%
这段代码会打印出“Hello”并告诉我“World is not a command”。
我希望它能够打印出“Hello&World!”。
如何实现呢?
这个对我有用:
set "hi=Hello^&World!"
echo %hi%
输出
Hello&World!
在这里,唯一安全的输出变量内容的方法是使用延迟扩展。
如果使用百分号扩展,它取决于内容是否失败。
set "var1=Hello ^& World"
set "var2=Hello & World"
setlocal EnableDelayedExpansion
echo !var1!
echo !var2!
echo %var1%
echo %var2% -- fails
just
echo Hello ^& World!
工作
编辑
所以问题不在于ECHO
命令,而在于变量的赋值,正如@Bali正确指出的那样。