Может ли кто-нибудь порекомендовать программное обеспечение для Windows, которое будет проходить по дереву каталогов и сравнивать каждый файл по байтам с другим деревом с аналогичной структурой.
Чтобы файлы считались идентичными, они должны иметь одинаковое имя, содержимое и положение в двух деревьях.
Все, что мне нужно знать, это какие файлы отличаются, а какие отсутствуют во втором дереве. (Если он показывает, какие файлы находятся в дереве № 2, но не в дереве № 1, это хороший бонус.)
Мне нужно сравнить десятки тысяч файлов размером в сотни гигабайт, поэтому важны скорость и простота. Важны надежность и точность .
Этот вопрос похож на этот другой вопрос , но мне не нужны построчные отчеты о том, что отличается в каждом файле. Мне также нужно выйти за пределы 6 уровней в дереве; программа должна пройти все дерево.
Это также похоже на этот вопрос , но мне нужны фактические байты файлов для сравнения. Программное обеспечение не может считать два файла с одинаковыми именами (даже с одинаковыми датой и временем) идентичными.
Предпочтение отдается рекомендациям по бесплатному программному обеспечению, а также ПО с открытым исходным кодом, но все рекомендации приветствуются.
Если дерево с аналогичной структурой идентично , вы можете использовать Beyond Compare .
Это программное обеспечение может легко сравнивать папки и их содержимое
Один из самых простых способов сделать то, что вы ищете, не байт за байтом, а с очень низкой вероятностью упустить что-либо, — это создать полный список деревьев для обоих деревьев с отпечатком, таким как MD5 или SHA1, для каждого файла.
Затем вы можете сравнить два списка построчно. Это можно сделать быстро с помощью python.
Вы даже можете расширить такой скрипт, чтобы он читал в «основном» файле отпечатка дерева и отображал при обработке дерева сравнения любые файлы и каталоги, которые:
Немного больше работы позволит создать инструмент, который мог бы обновлять записи из основного дерева, только если изменились время/дата/размер. И, конечно же, когда у вас есть «отпечаток пальца», вы можете быстро и просто сравнить ваше мастер-дерево с самим собой позже, чтобы определить, что изменилось.
Хотя Windows не поставляется с python, его можно легко получить бесплатно на сайте www.python.org .
Томас Веллер
Иззи
RockPaperLz - Замаскируй или Шкатулка
RockPaperLz - Замаскируй или Шкатулка
Иззи
локаль по умолчанию
RockPaperLz - Замаскируй или Шкатулка
Дэвид Ренне