web-dev-qa-db-ja.com

^&はWindowsコマンドラインで何を表していますか?

^&の使用に気づきました:

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

それは何をしているのでしょうか?

14
Thrash Abaddon

^記号はエスケープ文字です* Cmd.exe内:

コマンドシンボルの前にエスケープ文字を追加すると、通常のテキストとして扱うことができます。
これらの文字のいずれかをパイプまたはリダイレクトするときは、エスケープ文字を前に付ける必要があります:&\ <> ^ |

ソース

ただし、効果はなく、実際にはコマンドでは不要です。 RoboCopyコマンドの完了後にIFコマンドを実行したいようです。したがって、& "コマンドセパレータ"コマンドとして解析されます tells Cmd.exe IFステートメントを、RoboCopyの実行後に実行する必要がある2番目のコマンドとして扱います。その結果、このコマンドは、使用しているものと同等です。

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

*^はコマンドの最後の文字であり、 コマンド継続文字 として解釈されます。

詳しくは: