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

1

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

Como eu posso fazer isso? Como posso comparar duas pastas de maneira interessante e rápida?

    
por user3784961 06.09.2014 / 13:25

1 resposta

1

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

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

Atualizar

Uma resposta mais específica que é quase tão rápida quanto possível e também muito flexível é usar as versões do Cygwin do comando Unix ferramentas de linha:

diff -r dir1 dir2

Se você quiser usar um buitin, tente COMP :

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

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

Atualização 2

Eu não recomendo fazendo isso porque só vai ser mais rápido em certas situações. Também será incorreto em outros. Como você solicitou uma versão mais rápida, você 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ó será de benefício questionável, porque será executado na máquina host de qualquer maneira, portanto, não estamos economizando largura de banda. Isso aumentará o uso da CPU. Se você o dividir, você pode criar o md5 para arquivos somente quando salvo e somente executar a parte dif quando necessário.

    
por 06.09.2014 / 13:29