Программное обеспечение для сравнения / сравнения архивных файлов

Я ищу программное обеспечение, которое будет сравнивать все файлы из двух архивов. Должно:

  • Отметьте файлы, которые различаются (имеют модификации) между собой.
  • Пометить *New для файлов, которых нет во втором архиве (или в одном, а не в другом)
  • При открытии одного из модифицированных файлов показываются отличия файла от второго архива.
  • Должен читать все файлы из всех каталогов не менее трех уровней.
  • Если возможно бесплатно или с открытым исходным кодом.
Для какой ОС и вы уверены, что не имеете в виду Архив, если да, то какой формат achive, git, hg, svn, zip, arc, tar, tar-gz, gzip, их 100.
Есть для ОС Windows

Ответы (5)

Far Manager может сравнивать папки, а также имеет расширенные плагины для сравнения каталогов, которые также работают с архивами.

Для сравнения двух архивов:

  1. Откройте оба архива с помощью двух панелей в Far Manager, каждый архив в панели
  2. Сравните файлы, используя последовательность F9- C-C
    • Это выделит новые/измененные файлы на правой панели.

Функции:

  • Выделяет новые и измененные файлы
  • Имеет возможность изменить глубину каталога с помощью F11 Advanced Compare(см. изображение ниже)
  • Работает в Windows
  • Является бесплатным и открытым исходным кодом

Обратите внимание, что вы можете сравнить содержимое файлов внутри Far Manager с помощью fcкоманды в Windows

Знаменитый WinMerge можно использовать с 7-zip для поддержки архивов . Это совершенно бесплатно, а графический интерфейс для сравнения кристально ясен.

Суть в том, что у вас есть некоторая настройка для выполнения вместо того, чтобы иметь инструмент для этого из коробки, но для тех, кто привык к сравнению с помощью WinMerge, это, вероятно, путь.

Total Commander делает то, о чем вы говорите, для файлов в архивах так же легко, как и для файлов в папках.

Он обрабатывает ZIP, ARJ, LZH, RAR, UC2, TAR, GZ, CAB, ACE.

Он не сравнивает несколько уровней одновременно.

Это условно-бесплатное ПО. Вы можете использовать его в течение 30 дней без оплаты (ворчащий экран), после чего вам придется заплатить 44 доллара / 38 евро, и это выгодная сделка для всех его функций.

DiffTool для Android может сравнивать содержимое файлов ZIP, JAR или APK. DiffTool делает именно то, о чем вы просили, и показывает различия лучше, чем большинство других инструментов, которые я использовал до сих пор. И в дополнение к сравнению папок (включая подпапки) и текстовому сравнению очень хорошее двоичное сравнение может быть выполнено для двоичных файлов. Кроме того, если в вашем архиве есть документы docx, xlsx, rtf, odt, ..., текст этих документов также можно сравнить. К сожалению, работает только на Android. См.: https://play.google.com/store/apps/details?id=com.difftool .

Если вы можете сэкономить 30 долларов, то вы не сможете превзойти Beyond Compare, который, безусловно, может сравнивать архивы и, возможно, больше форматов архивов, чем любой бесплатный инструмент.

Архивы — это файлы, содержащие другие файлы, например ZIP. Beyond Compare отображает их как папки со значком молнии, но по умолчанию рассматривает их как файлы при копировании или сравнении. После того, как вы расширили архив, дважды щелкнув по нему, файлы внутри будут сравниваться. Многие форматы поддерживают как чтение, так и запись, поэтому вы можете использовать все обычные файловые операции с файлами в архивах, включая сравнение содержимого, копирование, переименование и т. д.

Общие форматы архивов

Архив 7z ( .7z; .7z.001) BZip
( .bz; .bz2)
BZipped Tar ( .tbz; .tbz2; .tar.bz2)
Beyond Compare Snapshot (
.bcss; .bcs)
Скомпилированная HTML-справка (
.chm)
Архив Deb ( .deb)
GZip (
.gz)
GZipped Tar ( .tgz; .tar.gz)
Microsoft Cabinet ( .cab)
RAR (
.rar)
Архив Rpm ( .rpm)
Tar (
.tar)
Zip ( .zip; . zipx; .jar; .ear; .war; .bcpkg)

попав в свой архив, вы можете сравнить текст или изображения, или офисные файлы, или PDF, или данные, или даже необработанный шестнадцатеричный формат.

Попробуйте демо и посмотрите, уверены ли вы.

Если нет, то предложение @Chop о WinMerge , если это возможно (хотя не забудьте взглянуть на Kdiff3 )