uuid E07EC438-7B75-4437-8AA1-DA94C1E6EACC patterns name keyword.command.dosbatch match \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 name keyword.control.statement.dosbatch match \b(?i)(?:goto|call|exit)\b name keyword.control.conditional.if.dosbatch match \b(?i)if\s+((not)\s+)(exist|defined|errorlevel|cmdextversion)\b name keyword.control.conditional.dosbatch match \b(?i)(?:if|else)\b name keyword.control.repeat.dosbatch match \b(?i)for\b name keyword.operator.dosbatch match \b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\b name comment.line.rem.dosbatch match \b(?i)rem(?:$|\s.*$) name comment.line.colons.dosbatch match \s*:\s*:.*$ captures 1 name variable.parameter.function.begin.shell name variable.parameter.function.dosbatch match (?i)(%)(~(?:f|d|p|n|x|s|a|t|z|\$[^:]*:)*)?\d captures 1 name variable.parameter.loop.begin.shell name variable.parameter.loop.dosbatch match (?i)(%%)(~(?:f|d|p|n|x|s|a|t|z|\$[^:]*:)*)?[a-z] captures 1 name variable.other.parsetime.begin.shell 2 name variable.other.parsetime.end.shell name variable.other.parsetime.dosbatch match (%)[^%]+(%) captures 1 name variable.other.delayed.begin.shell 2 name variable.other.delayed.end.shell name variable.other.delayed.dosbatch match (!)[^!]+(!) begin " endCaptures 0 name punctuation.definition.string.end.shell beginCaptures 0 name punctuation.definition.string.begin.shell name string.quoted.double.dosbatch end "|$ name keyword.operator.pipe.dosbatch match [|] name keyword.operator.redirect.shell match &>|\d*>&\d*|\d*(>>|>|<)|\d*<&|\d*<> name Batch File scopeName source.dosbatch fileTypes bat