Я хочу использовать md5deep для проверки правильности копирования некоторых скопированных каталогов. Но, похоже, md5deep не использует имена файлов, сохраненные в родословных .md5-файлах при сопоставлении!
На самом деле это означает, что если я скопирую большую структуру каталогов (с дублированными файлами) и что-то пошло не так, поэтому один каталог содержит файлы (с правильными именами файлов и неправильным содержимым), то md5deep НЕ обнаружит это как несоответствие!
ПРИМЕР:
Представьте, что у нас есть следующая файловая структура:
photos\public_photo1.jpg
photos\public_photo2.jpg
photos\private_photo1.jpg
photos\photos_my_mother_can_see\public_photo1.jpg
photos\photos_my_mother_can_see\public_photo2.jpg
Как видите, две фотографии являются дублированными файлами!
Теперь представьте, что моя утилита копирования потерпела неудачу, так что СОДЕРЖАНИЕ public_photo1.jpg
фактически было СОДЕРЖАНИЕМ private_photo1.jpg
. Структура каталогов остается прежней!
На моем исходном диске я сделал следующее для генерации MD5-файла:
md5deep64 -rel c:\photos\*.* > result.md5
(Я использую относительные пути!)
После этого я сопоставляю файлы с папкой назначения:
md5deep64 -X result.md5 -r c:\photosdest
Изменений не найдено !!
Если я даже сопоставлю (md5deep64 -wm result.md5 -rc:\photosdest), я даже могу увидеть, как он не использовал имена файлов для сравнения:
c:\photosdest\photos_my_mother_can_see\public_photo1.jpg matched c:\photos\private_photo1.jpg
c:\photosdest\public_photo1.jpg matched c:\photos\photos_my_mother_can_see\public_photo1.jpg
c:\photosdest\public_photo2.jpg matched c:\photos\public_photo2.jpg
c:\photosdest\photos_my_mother_can_see\public_photo2.jpg matched c:\photos\public_photo2.jpg
c:\photosdest\private_photo1.jpg matched c:\photos\private_photo1.jpg
:-(
Это особенность или ошибка?
Есть ли способ заставить md5deep сравнить MD5 файлов с тем же именем и местоположением? ... или я должен начать искать другой md5-генератор / компаратор?