Некоторые постеры выше пропустили тонкость битовой маски. В частности, paradroid пропустил тот уровень ошибки 3, который указывает на полностью успешную копию.
Обратите внимание, что бит 0x01, если установлен, указывает, что некоторые файлы были скопированы, даже если были другие сбои. Поэтому любые нечетные уровни ошибок всегда указывают, что по крайней мере некоторые файлы были скопированы.
Также обратите внимание, что бит 0x02 просто указывает на наличие файлов в месте назначения, которых нет в источнике. Это произойдет, если используется ключ /E и файлы были удалены из источника с момента создания предыдущей копии. Это не должно происходить, если используется ключ /MIR, потому что это должно удалить файлы в месте назначения, чтобы отразить источник (но я не проверял это).
Таким образом, оба уровня ошибок 1 и 3 указывают на успешное копирование файлов без ошибок.
Также уровни ошибок 0 и 2 указывают, что место назначения обновлено и файлы не были скопированы.
Для чего я стою, я придумал следующее для моей простой резервной копии:
если уровень ошибки 16 Эхо-резервное копирование не удалось - см. причину выше и перейти к
если errorlevel 8 echo Все не хорошо - резервное копирование не завершено и готово
если errorlevel 4 echo Все не хорошо - некоторые файлы не совпадают и готово
если errorlevel 3 echo Резервное копирование завершено успешно и выполнено
если errorlevel 2 echo Резервное копирование уже обновлено - файлы не скопированы и готово
если errorlevel 1 echo Резервное копирование успешно завершено и переход
если errorlevel 0 echo Резервное копирование уже обновлено - файлы не скопированы и не выполнено
Я решил не беспокоиться о «лишних» файлах.
Я понятия не имею, что такое «несоответствующая» ошибка, потому что она еще не произошла, но я допустила ее на всякий случай.