Saya menggunakan ROBOCOPY untuk menyalin beberapa file dari folder A ke folder B. Saya sengaja membuat folder B tidak dapat diakses menggunakan izin NTFS untuk melemparkan kesalahan sehingga dapat mengambil tindakan yang berbeda ketika salinan gagal. Namun tampaknya ROBOCOPY tidak melempar tingkat kesalahan yang di atas 0 atau 1 (Sukses). Menggunakan Server 2016 dengan CMD tingkat admin.
Skrip yang saya gunakan:
@echo on
:: Robocopy's Variables
set source=\\computer1\folder1\
set destination=\\computer2\folder2\
set logfilelocation=C:\scriptfolder\log.txt
set scripts=C:\scriptfolder
robocopy %source% %destination% /E /NFL /NDL /NC /NS /NP /W:1 /R:0 /LOG:%logfilelocation%
if ERRORLEVEL 1 goto success
if ERRORLEVEL 0 goto success
:FAIL
call %scripts%\failed.bat
goto end
:SUCCESS
call %scripts%\success.bat
:END
Jadi pada dasarnya, jika saya menjalankan echo% errorlevel% setelah baris robocopy, ia melempar tingkat kesalahan 0 (sukses) sementara log menunjukkan akses ditolak untuk semua file.
2018/08/27 10:22:52 ERROR 5 (0x00000005) Accessing Destination Directory \\computer2\folder2\
Access is denied.
Saya ingin kesalahan, tetapi tidak memberi saya ROBOCOPY errorlevel lebih tinggi dari 1. Ada saran agar saya dapat mengambil tindakan ketika file tidak disalin?
/NFL /NDL /NC /NS
,, juga menyebabkan kesalahan diabaikan?