set hi=Hello^&World!
echo %hi%
其打印你好,告訴我世界上沒有一個命令
我希望它打印Hello &世界!
如何做到這一點?
set hi=Hello^&World!
echo %hi%
其打印你好,告訴我世界上沒有一個命令
我希望它打印Hello &世界!
如何做到這一點?
這個工作對我來說:
set "hi=Hello^&World!"
echo %hi%
輸出
Hello&World!
只是
echo Hello ^& World!
工作
編輯 所以這個問題不是用ECHO
命令,而是用變量賦值,就像@Bali正確指出的那樣。
迴應變量內容的唯一安全方法是在此處使用延遲擴展。
如果使用百分比展開,則取決於內容是否失敗。
set "var1=Hello ^& World"
set "var2=Hello & World"
setlocal EnableDelayedExpansion
echo !var1!
echo !var2!
echo %var1%
echo %var2% -- fails
延遲擴展更有用,因爲它不解釋任何特殊字符。
更多資訊SO: How the parser works