Một số áp phích ở trên đã bỏ lỡ sự tinh tế của mặt nạ bit. Cụ thể là paradroid đã bỏ lỡ rằng errorlevel 3 chỉ ra một bản sao hoàn toàn thành công.
Lưu ý rằng bit 0x01 nếu được đặt chỉ ra rằng một số tệp đã được sao chép ngay cả khi có các lỗi khác. Vì vậy, bất kỳ lỗi số lẻ nào luôn chỉ ra rằng ít nhất một số tệp đã được sao chép. Cũng lưu ý rằng bit 0x02 chỉ đơn giản chỉ ra rằng có các tệp tại đích không có trong nguồn. Điều này sẽ xảy ra nếu công tắc / E được sử dụng và các tệp đã bị xóa khỏi nguồn kể từ khi bản sao trước đó được lấy. Điều này không xảy ra nếu công tắc / MIR được sử dụng vì điều đó sẽ xóa các tệp tại đích để phản chiếu nguồn (nhưng tôi chưa kiểm tra điều này).
Vì vậy, cả errorlevel 1 VÀ 3 chỉ ra việc sao chép thành công các tệp không có lỗi. Ngoài ra các lỗi 0 và 2 chỉ ra rằng đích đến được cập nhật và không có tệp nào được sao chép.
Để biết giá trị của nó, tôi đã đưa ra những điều sau đây cho bản sao lưu đơn giản của mình:
nếu errorlevel 16 echo Sao lưu thất bại - xem lý do ở trên & goto xong
if errorlevel 8 echo Tất cả đều không tốt - sao lưu chưa hoàn tất & đã hoàn tất
if errorlevel 4 echo Tất cả đều không tốt - một số tệp đã không khớp và hoàn thành
nếu errorlevel 3 echo Sao lưu thành công & goto xong
if errorlevel 2 echo Sao lưu đã được cập nhật - không có tệp nào được sao chép & goto
if errorlevel 1 echo Sao lưu hoàn tất thành công & goto xong
if errorlevel 0 echo Sao lưu đã được cập nhật - không có tệp nào được sao chép & goto
Tôi đã chọn không bận tâm về các tập tin 'thêm'.
Tôi không biết lỗi 'không khớp' là gì vì nó chưa xảy ra nhưng tôi đã cho phép nó chỉ trong trường hợp.