
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.