Ich habe die Verwendung von ^&in bemerkt :
(robocopy c:\dirA c:\dirB *.*) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
Ich frage mich, was es macht?
Ich habe die Verwendung von ^&in bemerkt :
(robocopy c:\dirA c:\dirB *.*) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
Ich frage mich, was es macht?
Antworten:
Das ^Symbol ist das Escape-Zeichen * in Cmd.exe:
Wenn Sie das Escape-Zeichen vor einem Befehlssymbol einfügen, wird es als normaler Text behandelt.
Wenn Sie eines dieser Zeichen weiterleiten oder umleiten, sollten Sie das Escape-Zeichen voranstellen: & \ <> ^ |
Es hat jedoch keine Auswirkung und ist in Ihrem Befehl eigentlich nicht erforderlich. Anscheinend soll der IF-Befehl ausgeführt werden, nachdem der RoboCopy-Befehl ausgeführt wurde. Deshalb wollen Sie das &als „Befehlsseparator“ Befehl analysiert werden, die sagt cmd.exe Ihre IF - Anweisung als zweiten Befehl zu behandeln , die nach dem Ausführen RoboCopy ausgeführt werden sollen. Infolgedessen entspricht dieser Befehl dem von Ihnen verwendeten Befehl:
(robocopy c:\dirA c:\dirB *.*) & IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
* Wenn ^es sich um das letzte Zeichen in einem Befehl handelt, wird es als Befehlsfortsetzungszeichen interpretiert .
^diesem Zweck muss es das letzte Zeichen im Befehl sein.