Сравнение бинарных файлов windows

Как с помощью командной строки сравнить два текстовых или бинарных файла

Б ывают случаи, когда у пользователей возникает необходимость проверить два файла на идентичность. Чаще всего с подобной задачей сталкиваются начинающие веб-разработчики и программисты. Отыскивать несоответствия в одинаковых с виду файлах приходится редакторам, корректорам и прочим специалистам, работающим с текстовыми данными.

По идее для этих целей лучше всего использовать специальные утилиты, например WinMerge, но файлы также можно сравнивать с помощью самой обыкновенной командной строки . В командной оболочке всех версий Windows имеется замечательная команда FC. Она позволяет сравнивать между собой любые файлы, причём как текстовые, так и бинарные. Синтаксис этой команды очень прост и выглядит он следующим образом:

FC /ключ [полный путь к первому файлу] [полный путь ко второму файлу]

Список доступных ключей можно просмотреть, набрав и выполнив в консоли CMD команду FC /? . Справка даётся на русском языке, так что вы без труда разберетесь, что к чему.

А теперь немного практики. Допустим, у вас есть два файла с кодом PHP и в одном из них предположительно имеются некие различия. Скрипты PHP это обычные текстовые файлы , поэтому в данном случае будем использовать ключ L предназначенный для сравнения текстовых документов в кодировке ASCII. Если скрипт содержит кириллицу, не забудьте перед выполнением команды сравнения выставить в консоли кодировку 1251, иначе на выходе вы получите крякозябры. Смена кодировки выполняется командой chcp 1251 .

Затем сравниваем файлы:

FC /L D:/1.php D:/2.php

Различия между файлами выводятся в следующем порядке. Сначала идёт имя первого файла, затем строка, в которой было найдено несовпадение. За ним идёт имя второго файла и точно также указывается различающаяся строка. Если программа находит ещё несколько несоответствий в других строках, всё повторяется. В общей сложности утилита может обнаружить до 100 различий, такое ограничение имеет используемый командой fc внутренний буфер.

При поиске несоответствий в бинарных файлах используется ключ B. При этом сравнение производится побайтово. В принципе, таким способом можно сравнивать любые файлы, ведь все они по сути двоичны, просто при работе с текстовыми форматами FC может ограничиться информацией какой из сравниваемых объектов длиннее и на этом завершить свою работу.

FC /B D:/1.exe D:/2.exe

В данном примере сравниваются два исполняемых файла. Результат такого сравнения будет выглядеть примерно следующим образом:

00000040: 56 BA
00000050: 65 68
00000060: 43 72
00000070: 6U 0A

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

Какими ещё полезными возможностями обладает команда FC? Ну, например поддержкой подстановочных знаков. Если вам нужно сравнить некий файл etalon.exe с другими исполняемыми файлами в текущем каталоге, используйте команду следующего формата:

fc *.exe etalon.exe

Также с помощью подстановочных знаков можно производить пакетное сравнение файлов, расположенных в разных каталогах или разделах жёсткого диска. А что будет, если сравниваемые файлы окажутся полностью идентичными? Утилита выведет лаконичное сообщение — FC:различия не найдены.

Как сравнить файлы по содержимому в Windows или Linux?

Веб-мастерам или владельцам сайтов часто бывает необходимо сравнить два файла по содержимому. Из этой статьи вы узнаете как сравнить два файла между собой. Здесь описаны все известные мне способы для сравнения текстовых файлов и скрипты (html, css, php и так далее).

Способ 1. Meld

Meld — графический инструмент для получения различий и слияния двух файлов, двух каталогов. Meld — визуальный инструмент сравнения и объединения файлов и каталогов для Linux. Meld ориентирован, в первую очередь, для разработчиков. Однако он может оказаться полезным любому пользователю, нуждающемуся в хорошем инструменте для сравнения файлов и директорий.

В Meld вы можете сравнивать два или три файла, либо два или три каталога. Вы можете просматривать рабочую копию из популярных систем контроля версий, таких, таких как CVS, Subversion, Bazaar-NG и Mercurial. Meld представлен для большинства linux дистрибутивов (Ubuntu, Suse, Fedora и др.), и присутствует в их основных репозиториях.

Читайте также:  Примеры операционной системы семейства windows

Способ 2. Сравнение содержимого двух файлов в программе WinMerge.

Бесплатная программа WinMerge позволяет сравнивать не только содержимое файлов, она также сравнивает содержимое целых папок. WinMerge является Open Source инструментом сравнения и слияния для Windows. WinMerge может сравнивать как файлы, так и папки, отображая различия в визуальной текстовой форме, которые легко понять и обработать.

После установки, открываете пункт меню «Файл» — «Открыть». Выбираете файлы для сравнения. Для этого нажимаете на кнопку «Обзор» и выбираете файл. Выбрав файлы, нажимаете на кнопку «ОК».

В WinMerge можно также редактировать файлы. После закрытия окна сравнения, программа предложит сохранить изменения в файлах.

Способ 3. diff

diff — утилита сравнения файлов, выводящая разницу между двумя файлами.

Способ 4. Kompare

Kompare — отображает различия между файлами. Умеет сравнивать содержимое файлов или каталогов, а также создавать, показывать и применять файлы патчей. Kompare — это графическая утилита для работы с diff, которая позволяет находить отличия в файлах, а также объединять их. Написана на Qt и рассчитана в первую очередь на KDE. Вот ее основные особенности:

Способ 5. Сравнение файлов в программе Total Commander

В Total Commander существует инструмент сравнения файлов по содержимому, где можно не только сравнить содержимое, но и редактировать его и копировать из одного файла в другой.

После запуска Total Commander – в одной из панелей выбираете (клавиша Insert) первый файл для сравнения – во второй панели открываете папку со вторым файлом и ставим на него курсор. Вызываем программу для сравнения: «Файлы→Сравнить по содержимому».

Для внесения изменений в файл достаточно нажать на кнопку «Редактировать». В программе доступны функции копирования и отката, поиска и изменение кодировки. Если вы внесли изменения в файл, то после закрытия окна сравнения, будет предложено сохранить изменения.

Способ 6. Сравнение файлов в Notepad++

Notepad++ не умеет сравнивать файлы. Для появления этого функционала в Notepad++ нужно установить плагин «Compare».

Запускаете редактор – переходите в пункт меню «Плагины» — «Plugin Manager» — «Show Plugin Manager». В новом окне выбираете плагин «Compare» и жмёте кнопку «Install».

После установки плагина откройте два файла и выбирите меню «Плагины» — «Compare» — «Compare (Alt+D)». Результат сравнения файлов будет представлен в отдельных панелях. Напротив строк, в которых найдены отличия будет стоять предупреждающий знак.

Способ 7. Сравнение файлов с помощью командной строки Windows

Сравнение с помощью командной строки Windows (cmd.exe) не позволяет редактировать файлы, но просто сравнить содержимое файлов, используя этот способ, вы можете.

Для вызова командной строки Windows перейдите «Пуск» — «Все программы» — «Стандартные» — «Командная строка» или нажмите клавиш «Windows+R», введите cmd и нажмите клавишу Enter.

В командной строке введите команду:

Онлайн школа английского языка

Английский по скайпу от 680р за урок, без заучивания правил. Эффективно! Удобно! Выгодно! Начните обучение прямо сейчас.

Крупнейшая в Европе школа английского языка.

Промокоды, акции и подарки, чтобы Ваше обучение было не только интересным, но и выгодным. Закажите пробный урок уже сейчас!

Школа английского языка по Skype

Персональные занятия по разумным ценам. Бесплатные ресурсы для студентов: разговорные клубы, блог, вебинары, книги, тест на определение уровня английского. Пробный урок бесплатно!

Путеводитель по программам для сравнения данных

Beyond Compare 3

Программа для сравнения файлов и папок, в том числе заархивированных или расположенных на удаленном сервере. С помощью Beyond Compare 3 также можно сравнивать ключи Реестра, изображения, MP3-теги, синхронизировать каталоги, редактировать исходный код и выполнять множество других задач.

Интерфейс Beyond Compare удобен за счет многовкладочного интерфейса: это позволяет работать с несколькими сессиями параллельно и в одном окне. Помимо того, можно создавать рабочие пространства (workspaces) — коллекции открытых сессий.

Важные отличия этого продукта от большинства аналогов — наглядность сравнения и удобство редактирования во всех доступных режимах. Скажем, сравнение двоичных файлов предусматривает также правку посредством HEX-редактора. При работе с изображениями различия отображаются как пиксели, не говоря уже о полноценном редактировании файлов. MP3-файлы можно сравнивать по метаданным. Поддержка дополнительных форматов обеспечивается плагинами.

В режиме сравнения файлов используется традиционный двухпанельный интерфейс. Цвет шрифта позволяет отметить важные различия (красная маркировка) и менее существенные (синяя), фоновый цвет также несет функциональное значение. Для правки текста предусмотрен полноценный редактор исходного кода с поддержкой соответствующих форматов (см. Tools → File Formats).

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

Отображение данных регулируется посредством файлового фильтра (вывод указанных типов файлов) или фильтра отображения (показ изменений). Все необходимые инструменты вынесены на панель инструментов справа от вкладок. В меню Actions находятся команды, связанные с синхронизацией и сравнением. Управление отображением доступно в меню View.

Читайте также:  Windows 10 правая кнопка мыши проблема

В сравнении каталогов могут быть задействованы различные источники — не только локальные, но также и удаленные каталоги, архивы (поддерживаются форматы RAR, ZIP, 7z и мн. др.), снимки файловой структуры (snapshots). Благодаря предосмотру, можно заранее ознакомиться с результатом синхронизации.

Рутинные задачи автоматизируются с помощью скриптов. В Beyond Compare есть поддержка командной строки и регулярных выражений. Отчет доступен для печати или вывода в форматах HTML и TXT.

Резюме. Beyond Compare представляет собой многофункциональное решение для синхронизации, слияния, редактирования различных типов данных. Наравне с функциональностью, очень удобен многовкладочный интерфейс с поддержкой сессий и рабочих пространств. В результате, программа хороша при работе как с малыми, так и с достаточно сложными проектами.

[+] Удобный интерфейс
[+] Работа с архивами и удаленными каталогами
[+] Возможности автоматизации
[+] Доступные фильтры и режимы отображения

Compare++

Compare++ представляет собой программу для сравнения директорий и текстовых файлов в ОС Windows. Позиционируется, прежде всего, как инструмент для программистов и веб-разработчиков: благодаря распознаванию функций, классов, документ с исходным кодом легко структурируется, удобен в навигации, редактировании.

Оболочка Compare++ весьма проста и ничем не перегружена. Сохранение сессий не предусмотрено, вместо этого можно воспользоваться историей. Вкладочный интерфейс позволяет работать с несколькими проектами одновременно.

Среди основных возможностей — сравнение файлов, каталогов и трехстороннее слияние. При сравнении данных можно быстро переключиться в один из двух режимов, ориентированных на работу с текстом или кодом. Во втором случае, на панели Function View выводится список классов, к каждому из которых легко перейти в документе и произвести с ним нужные действия (например, слияние) парой кликов мыши. Вообще говоря, Function View — не такая и редкость для редакторов исходного кода, но для программ данной категории это единичный случай.

Из других особенностей редактирования: предусмотрена нумерация строк, подсветка синтаксиса (C/C++, Java, C#, Javascript, CSS и мн. др.), в том числе парных скобок. Все внесенные в документах правки маркируются: текст был изменен, удален или добавлен. Результат сравнения можно экспортировать в diff-, txt- или html-файл и, опционально, отправить на email.

Сравнение директорий осуществляется без предосмотра. Синхронизация содержимого архивов и с удаленным сервером не предусмотрена, зато можно сохранять снимки файловой структуры и применять фильтры для файлов и каталогов. На панели инструментов также можно обнаружить дополнительные режимы отображения. Сравнение осуществляется по свойствам файла — дате модификации и размеру, возможно рекурсивное и сравнение по содержимому (соответствующие опции доступны в секции Folder Compare настроек). Колонки сортируются, но не поддаются настройке.

Возможна работа через интерфейс командной строки. Соответственно, Compare++ интегрируется с продуктами SVN, Git, Perforce, Microsoft TFS, SourceSafe и прочими системами в качестве внешнего инструментария для сравнения.

Резюме. Compare++ можно рассматривать как хорошо настраиваемый редактор исходного кода, с функциями сравнения и синхронизации. Равно как и наоборот — как программу для синхронизации с редакторскими функциями. В связке с интеграционными возможностями, программа будет полезна как дополнение к IDE-среде.

[−] Нет полноценной поддержки сессий
[−] Отсутствие расширений
[+] Удобная работа с исходным кодом
[+] Трехстороннее слияние
[+] Создание diff-патчей и отчетов

Araxis Merge

Araxis Merge — программа для визуального сравнения, слияния и синхронизации папок. Встроенный редактор распознает различные форматы документов: исходный код, веб-страницы, XML, PDF, Microsoft Office, изображения и т. п. Также в Merge предусмотрена интеграция с популярными системами управления версиями и другими средами разработки.

В Merge задействован вкладочный интерфейс, поддерживается сохранение сеансов и рабочих пространств со всеми настройками в отдельный файл. Лента Ribbon разделена на секции, благодаря этому расположение команд легко запоминается, инструменты для работы с текстом всегда под рукой. Все действия, связанные с редактированием и навигацией по тексту, доступны на ленте. Панель инструментов тщательно настраивается только в Mac OS, возможны и другие различия между версиями Merge, в зависимости от платформы. Расположение панелей легко изменить на вертикальное или горизонтальное расположение, можно добавить дополнительные информационные колонки. Таким образом, программа удобна, ее интерфейс продуман до мелочей.

Merge поддерживает 4 режима сравнения. Дополнительные режимы (сравнение изображений и двоичных данных) не столь интересны ввиду отсутствия инструментов редактирования. Поэтому далее речь будет идти о сравнении файлов и директорий.

Текстовый редактор поддерживает подсветку синтаксиса, нумерацию строк. При сравнении, кроме изменений, отмеченных соответствующим цветом, удобно отслеживать связи между строками посредством соединительных линий (Linking lines). Наведя курсор на соответствующий блок, можно применить для него операцию слияния с соседним файлом (функция Point-and-click merging). Здесь улавливается аналогия с упомянутой в первой части обзора программой SmartSynchronize. В документ можно добавлять закладки и комментарии. Экспорт отчетов, с занесением всех отличий, осуществляется в форматах DIFF, HTML, HTML-слайдшоу и XML.

Второй основной режим работы Araxis Merge — сравнение и синхронизация каталогов. Сильная сторона этого инструмента — поддержка различных источников: виртуальная файловая система, сетевые диски, проекты и другие источники. При сравнении, доступны две панели с отображением структуры каталогов, также несложно активировать режим трехстороннего слияния.

Читайте также:  Intel dh55tc драйвера windows 10 64 bit

Конфигурация фильтров для директорий и файлов доступна в разделе Filters настроек. Они делятся на визуальные (вывод только нужных данных) и фильтры выбора (выбор файлов по заданным критериям).

В перечне доступных операций — объединение папок, побайтовое сравнение и сравнение по размеру и дате. При автосинхронизации файлы с конфликтами не обрабатываются и откладываются для принятия пользователем решения.

Потенциальные возможности Araxis Merge значительно возрастают, если брать в расчет интеграцию с Mercurial, Git, Subversion, Perforce и другими средами. Расширяемость обеспечивается встроенными в программу плагинами.

Резюме. Araxis Merge — программа с хорошо продуманным интерфейсом, оптимальным набором инструментов для сравнения, синхронизации и слияния данных. Из пожеланий — не хватает дополнительных режимов сравнения данных, в сочетании с удобным редактированием, как в случае с Beyond Compare.

[+] Интеграция со средами разработки
[+] Удобное визуальное сравнение
[+] Переключение режимов отображения
[+] Статистика и отчетность

UltraCompare Professional

UltraCompare позволяет сравнивать текстовые файлы, документы Word, двоичные файлы, каталоги и архивы, локальные, удаленные директории и съемные носители. Поддерживаются автоматическая синхронизация, трехстороннее слияние, поиск дубликатов и прочие вспомогательные операции.

Интерфейс UltraCompare предусматривает как сессии, так и рабочие пространства. Он удобен, не в последнюю очередь, за счет быстрого доступа к файловым операциям: например, можно выбрать для сравнения нужные файлы прямо из боковой панели. Здесь же, в левой панели, можно создать фильтр. Дополнительные опции можно найти в разделе Ignore Options настроек.

На выбор предоставлены следующие режимы работы с данными: сравнение текста и папок (плюс трехстороннее слияние для обоих видов), двоичных файлов, синхронизация папок. Смена режима осуществляется через меню Mode. Выбрав его, можно указать источники для левой и правой панелей, перетянув их в окно и нажав кнопку Go.

При сравнении текста, строки с различиями маркируются фоновым цветом и помечаются символами рядом с нумерацией. Соединительные линии позволяют отследить связь между двумя документами и помогают при слиянии, соответствующие команды доступны в разделе меню Merge. Для редактирования исходного кода рекомендуется прибегнуть к инструментарию программы UltraEdit. Возникает вопрос: насколько целесообразно оплачивать одну из дополнительных возможностей, если стоимость этого редактора выше, чем UltraCompare.

Для рекурсивного и не рекурсивного сравнения доступны локальные, удаленные и съемные источники, также поддерживаются ZIP-, RAR-, JAR- архивы. Результаты сравнения отображаются по обе панели (источник — получатель). Сравнение осуществляется по размеру и возрасту или содержимому файлов.

Пользователь имеет возможность создавать правила синхронизации (rules): замена файлов, удаление устаревших элементов, копирование и прочие. Возможна синхронизация по расписанию. Поддерживается командная строка, в наличии интеграция с приложениями для контроля версий: AnkhSVN Perforce, QVCS, Subversion, TortoiseCVS, TortoiseSVN и другими.

Резюме. Инструментарий UltraCompare включает в себя наиболее востребованные режимы сравнения, слияния и синхронизации, позволяя задействовать различные источники данных. Широкие интеграционные возможности посредством командного интерфейса. Вроде бы, все в угоду разработчику, но редактор без подсветки синтаксиса — это явный недостаток.

[+] Сравнение архивов и удаленных каталогов
[+] Интеграция с приложениями для контроля версий
[+] Трехстороннее сравнение
[−] Ограничения встроенного редактора

ExamDiff Pro

Программа ExamDiff предназначена для визуального сравнения текстовых, двоичных файлов и директорий. В длинном списке основных функций можно обнаружить поддержку плагинов. Благодаря им, возможна работа с такими форматами, как XML, HTML, PDF, MS Excel, Word, PowerPoint и другими.

Очевидно, что для редактирования кода ExamDiff открывает широкие возможности, как по функциональности, так и по удобству. Меню View позволяет настроить отображение панелей на усмотрение пользователя, панель инструментов полностью настраиваема.

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

Среди дополнительных возможностей для синхронизации директорий — поддержка удаленных источников, архивов. В ExamDiff можно создавать снимки для последующего сравнения, применять фильтры для различных групп файлов (в настройках имеется ряд предустановок), применять фильтры по временной отметке и размеру.

Помимо редакций Pro Standard и Pro Master, существует бесплатная версия ExamDiff. В ней нет трехстороннего слияния, сравнения директорий и двоичных файлов.

Резюме. ExamDiff Pro содержит необходимые инструменты для редактирования. Редактор адаптирован для работы с большими документами, исходным кодом, позволяя быстро ориентироваться по документу и переходить в нужный участок файла.

[+] Гибкая настройка
[+] Расширенные функции редактирования
[+] Поддержка расширений
[+] Удобная навигация по документам

Оцените статью