test.bat的內容是:爲什麼特定的Windows批處理參數會導致崩潰?
setlocal EnableExtensions EnableDelayedExpansion
set param1=%~1
echo %param1%
有人能解釋爲什麼test.bat "^^!^^^&^^^^"
使得cmd窗口崩潰,但test.bat "^^^&^^^^"
有設置&^
可變參數1的預期結果?
我可以做test.bat "pass^^!word"
,我得到pass!這個詞的預期結果。
更新:test.bat "^^!^^^^^&^^^^^^^^"
的作品。但我不完全確定爲什麼。這被解釋爲set param1=^!^^&^^^^
。爲什麼^在它前面需要^^^?
發現可能是因爲當你'EnableDelayedExpansion'的'!'有着特殊的意義,你需要逃避它。 – adarshr 2012-04-02 17:56:33