對不起,但幾乎所有的答案都是錯誤的,或不明白 怎麼了。
問題與cmd行無關,或者如果它在批處理文件中。
插入多行字符的規則:
插入行末尾,插入下一行並轉義附加行的第一個字符!
這就是原因爲什麼會得到
echo foo^
&& echo bar
---- OUTPUT ---
foo &
bar
---------------
rem equivalent to
echo foo ^&& echo bar
rem So the first ampersand is escaped and the second works as a single &
這也是原因爲什麼原來的代碼不能工作
echo foo &&^
"C:\Program Files\Internet Explorer\iexplore.exe"
rem is equivalent to this, so the quote will be escaped
echo foo &&^"C:\Program Files\Internet Explorer\iexplore.exe"
爲什麼其他的解決方案的工作?
echo foo &&^
cmd /c "C:\Program Files\Internet Explorer\iexplore.exe"
rem is equivalent to
echo foo &&^cmd /c "C:\Program Files\Internet Explorer\iexplore.exe"
如果你逃避「c」或不是「cmd」不重要。
有一種方法可以在不修改第二行的情況下工作。
echo foo && >con^
"C:\Program Files\Internet Explorer\iexplore.exe"
這是一個特例的特殊情況下,插入符作爲一部普通的多,但沒有逃脫的第一個字符。 (我想,cmd.exe沒有編程,它出來的混亂)。
來源
2010-12-08 18:47:52
jeb
謝謝你!我以爲我瘋了。另一個簡單的補救措施是在插入符號後的引用行的開頭添加一個空格。 – 2014-10-15 18:18:33