He notado el uso de ^&
en:
(robocopy c:\dirA c:\dirB *.*) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
Me pregunto qué hace.
He notado el uso de ^&
en:
(robocopy c:\dirA c:\dirB *.*) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
Me pregunto qué hace.
Respuestas:
El ^
símbolo es el carácter de escape * en Cmd.exe:
Agregar el carácter de escape antes de un símbolo de comando permite que se trate como texto ordinario.
Al canalizar o redirigir cualquiera de estos caracteres, debe prefijar con el carácter de escape: & \ <> ^ |
Sin embargo, no tiene ningún efecto y es realmente innecesario en su comando. Parece que desea que el comando IF se ejecute después de que se complete el comando RoboCopy. Por lo tanto, desea &
que se analice como el comando "separador de comandos", que le dice a Cmd.exe que trate su declaración IF como un segundo comando que debe ejecutarse después de ejecutar RoboCopy. Como resultado, este comando es equivalente al que está utilizando:
(robocopy c:\dirA c:\dirB *.*) & IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
* Si ^
es el último carácter de un comando, se interpreta como el carácter de continuación del comando .
^
para ese propósito debe ser el último personaje en el comando.