A adição do caractere de escape antes de um símbolo de comando permite que ele seja tratado como texto comum.
Ao canalizar ou redirecionar qualquer um desses caracteres, você deve prefixar o caractere de escape: & \ <> ^ |
No entanto, não tem efeito e é realmente desnecessário em seu comando. Parece que você deseja que o comando SE seja executado após a conclusão do comando RoboCopy. Portanto, você deseja &que ele seja analisado como o comando "separador de comandos", que instrui o Cmd.exe a tratar sua instrução IF como um segundo comando que deve ser executado após a execução do RoboCopy. Como resultado, este comando é equivalente ao que você está usando:
(robocopy c:\dirA c:\dirB *.*) & IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
Respostas:
O
^
símbolo é o caractere de escape * no Cmd.exe:Fonte
No entanto, não tem efeito e é realmente desnecessário em seu comando. Parece que você deseja que o comando SE seja executado após a conclusão do comando RoboCopy. Portanto, você deseja
&
que ele seja analisado como o comando "separador de comandos", que instrui o Cmd.exe a tratar sua instrução IF como um segundo comando que deve ser executado após a execução do RoboCopy. Como resultado, este comando é equivalente ao que você está usando:* Se
^
for o último caractere de um comando, ele será interpretado como o caractere de continuação do comando .Mais Informações:
fonte
^
para esse fim, ele deve ser o último caractere no comando.