There’s a bug in the comment parsing in Batch File.tmLanguage for both Sublime Text 2 & 3. I was able to fix it in ST2 since the source is available, but I can’t find where the source lives in ST3 so I can’t fix it myself. The required changes to get lines like:
REM this is a comment
to color code properly is… First on line 33:
<!-- <string>\b(?i)(?:append|assoc|at|attrib|break|cacls|cd|chcp|chdir|chkdsk|chkntfs|cls|cmd|color|comp|compact|convert|copy|date|del|dir|diskcomp|diskcopy|doskey|echo|endlocal|erase|fc|find|findstr|format|ftype|graftabl|help|keyb|label|md|mkdir|mode|more|move|path|pause|popd|print|prompt|pushd|rd|recover|rem|ren|rename|replace|restore|rmdir|set|setlocal|shift|sort|start|subst|time|title|tree|type|ver|verify|vol|xcopy)\b</string> -->
<string>\b(?i)(?:append|assoc|at|attrib|break|cacls|cd|chcp|chdir|chkdsk|chkntfs|cls|cmd|color|comp|compact|convert|copy|date|del|dir|diskcomp|diskcopy|doskey|echo|endlocal|erase|fc|find|findstr|format|ftype|graftabl|help|keyb|label|md|mkdir|mode|more|move|path|pause|popd|print|prompt|pushd|rd|recover|ren|rename|replace|restore|rmdir|set|setlocal|shift|sort|start|subst|time|title|tree|type|ver|verify|vol|xcopy)\b</string>
And next on line 57:
<!-- <string>(?:^|\s)((?i)rem)(?:$|\s.*$)</string> -->
<string>(?:^|\s)(?i:rem)(?:$|\s.*$)</string>
Note: Tried to attach the update Batch File.tmLanguage language, but .tmLanguage files are not allowed to be attached (seems strange to me)