Что означает ^ & в командной строке Windows?

Ответы:

18

^Символ экранирующий символ * в Cmd.exe:

Добавление escape-символа перед символом команды позволяет обрабатывать его как обычный текст.
При передаче или перенаправлении любого из этих символов вы должны использовать префикс с escape-символом: & \ <> ^ |

Источник

Однако это не имеет никакого эффекта и фактически не нужно в вашей команде. Похоже, вы хотите, чтобы команда IF выполнялась после завершения команды RoboCopy. Следовательно, вы хотите, &чтобы синтаксический анализировался как команда «разделитель команд», которая указывает Cmd.exe обрабатывать ваш оператор IF как вторую команду, которая должна быть выполнена после запуска RoboCopy. В результате эта команда эквивалентна той, которую вы используете:

(robocopy c:\dirA c:\dirB *.*) & IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0 

* Если ^последний символ в команде, то он интерпретируется как символ продолжения команды .

Дополнительная информация:

Я говорю Восстановить Монику
источник
1
@Biswapriyo Это также верно, чтобы использовать ^для этой цели это должен быть последний символ в команде.
Я говорю, восстановите Монику