Maybe you can have a look at this page
http://judago.webs.com/batchforloops.htm
He suggests to try one of those
Escaping - The caret(^) is the escape character, using one before the character(including that caret itself) escapes it. When delayed expansion is enabled two carets are needed for exclamation marks, see %variable% !catches!.
Doubling - Normally used for percentage signs, as the name suggests you simple input two where you want one.
Quoting - Where possible, like filenames, surround the string in double quotes.