İçinde kullanımını farkettim ^&
:
(robocopy c:\dirA c:\dirB *.*) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
Ne işe yarıyor acaba?
İçinde kullanımını farkettim ^&
:
(robocopy c:\dirA c:\dirB *.*) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
Ne işe yarıyor acaba?
Yanıtlar:
^
Sembol kaçış karakteridir * Cmd.exe'nin içinde:
Bir komut sembolünden önce kaçış karakterini eklemek, normal metin olarak değerlendirilmesine izin verir.
Bu karakterlerden herhangi birini yönlendirip yönlendirirken, escape karakterinin önekini vermelisiniz: & \ <> ^ |
Ancak, hiçbir etkisi yoktur ve emrinizde aslında gereksizdir. RoboCopy komutu tamamlandıktan sonra IF komutunun çalıştırılmasını istediğiniz görünmektedir. Bu nedenle , Cmd.exe'ye IF ifadenizi RoboCopy'yi çalıştırdıktan sonra çalıştırılması gereken ikinci bir komut olarak değerlendirmesini söyleyen&
"komut ayırıcı" komutu olarak ayrıştırılmasını istiyorsunuz . Sonuç olarak, bu komut kullandığınız komutla aynıdır:
(robocopy c:\dirA c:\dirB *.*) & IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
* Bir ^
komuttaki son karakter ise, komut devam karakteri olarak yorumlanır .
^
bu amaçla kullanabilmek için komuttaki son karakter olmalı .