Как я могу сравнить большие файлы под Windows? [закрыто]


25

Я хотел бы сравнить два файла под Windows, каждый размером около 1 ГБ. Я пробовал Total Commander и WinMerge , но оба заканчивались ошибками нехватки памяти .

Я использую Vista Home Premium 64bit с 8 ГБ оперативной памяти, поэтому проблема с памятью не возникает.


Память будет проблемой для 32-битных приложений, которые не столько исчерпывают память, сколько адресное пространство.
Джои

Это древний пост, но это не ясно , что цель заключается в том , чтобы определить , ЕСЛИ они отличаются или КАК они отличаются.
fixer1234

1
@ fixer1234: Если кто-то упоминает WinMerge, то совершенно очевидно, что вопрос в том, КАК эти файлы разные. Кстати: этот вопрос в точности соответствует шаблону, "I have <problem-x> that I don't know how to solve.указанному в мета-ответе, как запрашивать программное обеспечение. Поэтому закрывать этот вопрос было ИМХО неправильно.
Роберт

@ Роберт, название - «какую программу использовать», а вопрос - описание того, что ей нужно делать. Для меня это запрос рекомендации продукта. Также было получено 12 ответов (1 удалено), которые в основном интерпретировали вопрос таким образом, и создали список любимых программ (некоторые сообщения низкого качества), чего мы и стараемся избегать. К вашему комментарию WinMerge, люди используют инструменты под рукой, не всегда, чтобы воспользоваться всеми доступными функциями. В некоторых ответах вопрос интерпретировался как «если», а не «как», и ФП не дает разъяснений в комментариях или вопросе.
fixer1234

Ответы:


18

Как насчет просто использовать fcили comp?

Оба включены в Windows и не должны иметь проблем при работе с большими файлами. На самом деле, 1 ГиБ - это довольно маленький файл.


2
fcотлично работает с такими большими файлами. Его алгоритм сравнения немного небрежный, хотя.
Триссе

Я только что попробовал fc для файла с 58 миллионами строк (3 + gb), и он сообщил о несоответствии около 87 миллионов строк. Несоответствие было правильным, просто сообщенная строка была перепутана.
mrexodia


3

Попробуйте ExamDiff (Pro) .


Для простого сравнения двух текстовых файлов в графическом виде бесплатная версия ExamDiff также является кандидатом.
Роберт

2 файла размером почти 200 МБ, и я получил ошибку ограничения памяти 128 МБ .. Бросил
Кто угодно

3

Если вы хотите найти различия, а не просто выяснить, совпадают ли файлы (с помощью контрольной суммы), вы можете сначала разбить файлы, а затем попробовать сравнение файлов.
7-Zip File Manager разделит файлы на блоки по 650 Мб (File> Split file ...), которые затем откроются в DiffMerge.


1
Знаете ли вы, что TC также разбивает файлы? File > Split File...
Асад Эбрахим

2

Попробуйте инструмент сравнения контрольной суммы , который использует MD5 или SHA1. Я использую digestIT 2004 .

Если вы просто пытаетесь использовать diff, вы можете использовать инструмент сравнения командной строки или DiffUtils для Windows . В Textpad также встроен инструмент сравнения, в котором файлы являются текстовыми.


2

Я использую Beyond Compare для этого. Это очень хороший инструмент для сравнения файлов и синхронизации каталогов (хотя он и не бесплатный :-(


2
Это очень хорошее соотношение цены и «однопользовательская лицензия охватывает один человек с помощью BC на любом количестве компьютеров» scootersoftware.com/shop.php?zz=pricing
stukelly

2
Beyond Compare не работает для двоичных файлов
размером

2

KDiff3 теперь имеет 64-битную версию, которая работает с большими файлами.

Это старый вопрос, но у меня была такая же проблема при попытке использовать KDiff3.

Я искал бесплатный вариант, который не был пробным или только для некоммерческого использования. Я обнаружил, что использую 32-битную версию KDiff3, и теперь она имеет 64-битную версию. Установка позволила мне разложить гораздо большие файлы.


попробовал kdiff3 64bit, вылетает на 2 файлах 1.6G.
Stiv

1

Я использую Hex Workshop для сравнения больших файлов на шестнадцатеричном уровне ... конечно, это не бесплатно, но оно того стоит. есть много шестнадцатеричных редакторов, шестнадцатеричных калькуляторов, сравнения файлов и т. д. но это один из тех случаев, когда целое намного больше, чем сумма его частей


0

Похоже, что они оба являются 32-разрядными приложениями, поэтому даже на 64-разрядной платформе они ограничены максимальным использованием памяти в 2 ГБ. Тем не менее, вы могли бы подумать, что у них будет другой способ справиться с этим, например, подкачка дополнительных данных.


3
Да, я не могу поверить, что они загружают целые файлы в память ...
Петр Доброгост,

1
Максимальный предел памяти 2 ГБ не имеет значения; даже для 32-битной программы она может одновременно передавать потоки в разделах текстового файла. - Нет никакой причины, по которой текстовый файл должен быть загружен полностью в память для этой задачи.
BrainSlugs83


0

Мои (ASCII) файлы были каждый около 1,2 ГБ.

Я пытался:

  • NotePad ++
  • MultiEdit
  • Beyond Compare 3
  • ExamDiff Pro
  • DiffMerge
  • WinMerge и все они потерпели неудачу (не удалось загрузить файл или разбился)

Тот, который работал для меня в конце был ... PilotEdit x64 6.2.0.

Потребовалось некоторое время, чтобы загрузить каждый файл и даже больше, чтобы сделать сравнение, но как только это было сделано, оно работало совершенно нормально, и именно так, как я видел это в MultiEdit и NotePad ++ раньше. Перепрыгнул между блоками diff и т. Д.


@ z32a7ul - Если у вас есть вопрос, на самом деле задайте вопрос, комментарии не должны использоваться для того, чтобы задавать вопросы и отвечать на них. Ваш комментарий был объявлен "больше не нужен"
Ramhound

@Ramhound: Хорошо, я отправил вопрос: superuser.com/questions/1291544/…
z32a7ul
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.