Saya perhatikan penggunaan ^&di:
(robocopy c:\dirA c:\dirB *.*) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
Saya bertanya-tanya apa fungsinya?
Saya perhatikan penggunaan ^&di:
(robocopy c:\dirA c:\dirB *.*) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
Saya bertanya-tanya apa fungsinya?
Jawaban:
The ^simbol adalah escape karakter * di Cmd.exe:
Menambahkan karakter escape sebelum simbol perintah memungkinkannya diperlakukan sebagai teks biasa.
Saat memasang atau mengarahkan ulang salah satu dari karakter ini, Anda harus mengawali dengan karakter escape: & \ <> ^ |
Namun, itu tidak berpengaruh dan sebenarnya tidak perlu dalam perintah Anda. Tampaknya Anda ingin menjalankan perintah IF setelah perintah RoboCopy selesai. Oleh karena itu Anda ingin &diuraikan sebagai perintah "pemisah perintah", yang memberitahu Cmd.exe untuk memperlakukan pernyataan IF Anda sebagai perintah kedua yang harus dijalankan setelah menjalankan RoboCopy. Akibatnya, perintah ini setara dengan yang Anda gunakan:
(robocopy c:\dirA c:\dirB *.*) & IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
* Jika ^karakter terakhir dalam sebuah perintah, maka itu ditafsirkan sebagai karakter kelanjutan perintah .
^untuk tujuan itu harus karakter terakhir dalam perintah.