我注意到了 in 的用法^&
:
(robocopy c:\dirA c:\dirB *.*) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
我想知道它是起什么作用的?
答案1
该符号是Cmd.exe 中的^
转义字符* :
在命令符号前添加转义字符可使其被视为普通文本。
在管道传输或重定向任何这些字符时,应在前面加上转义字符:& \ < > ^ |
但是,它没有效果,实际上在您的命令中是不必要的。您似乎希望 IF 命令在 RoboCopy 命令完成后运行。因此,您希望将其&
解析为“命令分隔符”命令,它告诉Cmd.exe 将 IF 语句视为运行 RoboCopy 后应执行的第二个命令。因此,此命令等同于您正在使用的命令:
(robocopy c:\dirA c:\dirB *.*) & IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
*如果^
是命令中的最后一个字符,则它被解释为命令延续符。