Cara mendapatkan ROBOCOPY untuk membuat kesalahan ketika ada akses ditolak


1

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?


Mungkinkah parameter "tidak ada log" yang Anda tentukan /NFL /NDL /NC /NS,, juga menyebabkan kesalahan diabaikan?
harrymc

Masalah yang sama di sini. IMHO ini adalah bug, saya tidak yakin di mana harus melaporkannya: D
MichelZ
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.