Posso fazer hash do conteúdo de uma pasta no Windows para verificar conteúdo idêntico?

Posso fazer hash do conteúdo de uma pasta no Windows para verificar conteúdo idêntico?

Gostaria de saber se duas pastas possuem o mesmo conteúdo idêntico 1:1. Isso ocorre porque gostaria de verificar se a cópia/backup das minhas pastas é consistente.

Como posso fazer isso? Como posso comparar duas pastas em termos de conteúdo de maneira rápida e agradável?

Responder1

Você quer uma ferramenta de comparação que seja capaz de diferenciar pastas. Eu diria que o mais popular para Windows éWinMerge.

Se você precisar de algo que funcione na linha de comando, consulteesta resposta.

Atualizar

Uma resposta mais específica, quase tão rápida quanto possível e também muito flexível, é usarCygwinversões das ferramentas de linha de comando Unix:

diff -r dir1 dir2

Se você quiser usar um buitin, tenteCOMP.:

forfiles /P %folder1Path% /S /C "cmd /c comp /a @path %folder2Path%\@file"

mas aviso que é uma bagunça. Por um lado, COMP só funciona em uma única pasta, então você mesmo deve lidar com a recursão (daí a longa fila). Por outro lado, será solicitado após a primeira comparação ser feita.

Atualização 2

eu não recomendoFazendo issoporque só será mais rápido em determinadas situações. Também estará incorreto em outros. Como você solicitou uma versão mais rápida, também pode comparar apenas a soma de verificação MD5 dos arquivos. Você usará o Cygwin para isso:

diff <(sort <(md5deep -r /directory/1/) |cut -f1 -d' ') <(sort <(md5deep -r /directory/2/) |cut -f1 -d' ')

Isso só terá um benefício questionável porque será executado na máquina host de qualquer maneira, portanto não economizaremos largura de banda. Isso aumentará o uso da CPU. Se você dividi-lo, poderá criar o md5 para arquivos somente quando salvos e executar apenas a parte dif quando necessário.

informação relacionada