Eu quero usar o md5deep para verificar se alguns diretórios copiados foram copiados corretamente. Mas parece que o md5deep não usa os nomes de arquivos armazenados nos arquivos .md5 genearted ao combinar!
Isso realmente significa que, se eu copiar uma estrutura de diretório grande (com arquivos duplicados) e algo der errado, então um diretório contém arquivos (com nomes de arquivos corretos e conteúdo errado), então o md5deep NÃO encontrará isso como uma incompatibilidade!
EXEMPLO:
Imagine que tenhamos a seguinte estrutura de arquivos:
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
Como você pode ver, duas das fotos são arquivos duplicados!
Agora imagine que meu utilitário de cópia falhou, para que o CONTEÚDO de public_photo1.jpg
na verdade foi o conteúdo de private_photo1.jpg
. A estrutura de diretórios ainda é a mesma!
Na minha unidade de origem, fiz o seguinte para gerar o arquivo MD5:
md5deep64 -rel c:\photos\*.* > result.md5
(Eu uso caminhos relativos!)
Depois eu correspondo os arquivos com a pasta de destino:
md5deep64 -X result.md5 -r c:\photosdest
Nenhuma alteração encontrada !!
Se eu fizer uma correspondência (md5deep64 -wm result.md5 -r c: \ photosdest), posso até ver como ele não usou os nomes dos arquivos para comparar:
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
:-(
É um recurso ou um bug?
Existe alguma maneira que eu possa forçar o md5deep é comparar o MD5 de arquivos com o mesmo nome de arquivo e localização? ... ou devo começar a procurar por outro md5-generator / comparer?
fonte