(This is basically a rewrite of Wayne's answer but with the confusion around the caret cleared up. So I've posted it as a CW. I'm not shy about editing answers, but completely rewriting them seems inappropriate.)
You can break up long lines with the caret (^
), just remember that the caret and the newline that follows it are removed entirely from the command, so if you put it where a space would be required (such as between parameters), be sure to include the space as well (either before the ^
, or at the beginning of the next line — that latter choice may help make it clearer it's a continuation).
Examples: (all tested on Windows XP and Windows 7)
xcopy file1.txt file2.txt
can be written as:
xcopy^
file1.txt^
file2.txt
or
xcopy ^
file1.txt ^
file2.txt
or even
xc^
opy ^
file1.txt ^
file2.txt
(That last works because there are no spaces betwen the xc
and the ^
, and no spaces at the beginning of the next line. So when you remove the ^
and the newline, you get...xcopy
.)
For readability and sanity, it's probably best breaking only between parameters (be sure to include the space).
Be sure that the ^
is not the last thing in a batch file, as there appears to be a major issue with that.