Sorry, but almost all answers are incorrect or do not understand what is happening.
The problem does not depend on the cmd line or if it is inside the batch file.
Rule for a multi-line carriage character:
A carriage at the end of a line adds the next line and eludes the first character of the added line!
This is the reason you got
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 , ).