1

Я хотел бы знать, если две папки имеют одинаковый 1:1 идентичный контент. Это потому, что я хотел бы проверить, является ли копия / резервная копия моих папок последовательной.

Как я могу это сделать? Как я могу сравнить две папки по содержанию красиво и быстро?

1 ответ1

1

Вам нужен инструмент сравнения, который способен различать папки. Я бы сказал, что самым популярным для Windows является WinMerge.

Если вам нужно что-то, что будет работать из командной строки, посмотрите этот ответ.

Обновить

Более конкретный ответ, который настолько быстр, насколько это возможно, а также очень гибок, заключается в использовании версий Cygwin инструментов командной строки Unix:

diff -r dir1 dir2

Если вы хотите использовать буитин, попробуйте COMP:

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

но я предупреждаю вас, что это грязно. С одной стороны, COMP работает только с одной папкой, поэтому вы должны обрабатывать рекурсию самостоятельно (отсюда и длинная строка). Для другого он подскажет после первого сравнения.

Обновление 2

Я не рекомендую делать это, потому что это будет быстрее только в определенных ситуациях. Это также будет неправильно в других. Поскольку вы просили более быструю версию, вы также можете сравнить только контрольную сумму md5 файлов. Вы будете использовать Cygwin для этого:

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

Это будет только сомнительным преимуществом, потому что он будет работать на хост-машине в любом случае, поэтому мы не экономим пропускную способность. Это увеличит загрузку процессора. Если вы сломаете его, вы можете создать md5 для файлов только при сохранении и выполнять эту часть только при необходимости.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .