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 .
Antworten:
Das
^
Symbol ist das Escape-Zeichen * in Cmd.exe:Quelle
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:* Wenn
^
es sich um das letzte Zeichen in einem Befehl handelt, wird es als Befehlsfortsetzungszeichen interpretiert .Mehr Informationen:
quelle
^
diesem Zweck muss es das letzte Zeichen im Befehl sein.