Windows – How to escape ampersands in batch files

ampersandbatch-filecmdescapingwindows

How do I escape ampersands in a batch file (or from the
Windows command line) in order to use the start command to
open web pages with ampersands in the URL?

Double quotes will not work with start; this starts a new
command-line window instead.

Update 1: Wael Dalloul's solution works. In addition, if
there are URL encoded characters (e.g. space is encoded as
%20) in the URL and it is in a batch file then '%' must be
encoded as '%%'. This is not the case in the example.

Example, from the command line (CMD.EXE):

start http://www.google.com/search?client=opera&rls=en&q=escape+ampersand&sourceid=opera&ie=utf-8&oe=utf-8

will result in

http://www.google.com/search?client=opera 

being opened in the default browser and these errors in the command line window:

'rls' is not recognized as an internal or external command,
operable program or batch file.
'q' is not recognized as an internal or external command,
operable program or batch file.
'sourceid' is not recognized as an internal or external command,
operable program or batch file.
'ie' is not recognized as an internal or external command,
operable program or batch file.
'oe' is not recognized as an internal or external command,
operable program or batch file.

Platform: Windows XP 64 bit SP2.

Best Answer

& is used to separate commands. Therefore you can use ^ to escape the &.