- Как сравнить два файла по содержимому в Windows
- Как сравнить два файла с помощью PowerShell
- Как сравнить два файла с помощью Total Commander
- Как сравнить два файла с помощью AptDiff
- Какой ваш любимый способ сравнения двух файлов по содержимому?
- Как сравнить два файла, в чем у них различия (текст, Word/Excel-документы, Exe-файлы)
- Нюансы: о каких файлах идет речь
- Текстовые файлы
- Документы Word / Excel (+ текстовые в т.ч.)
- Др. бинарные файлы Exe, Com и пр. (возможно без расширения)
- Картинки
- Путеводитель по программам для сравнения данных
- SmartSynchronize
- WinMerge
- Diffuse
- Perforce P4 Merge
Как сравнить два файла по содержимому в Windows
Есть моменты, когда вам нужно сравнить два файла и проверить, отличается ли их содержимое. В некоторых ситуациях вы можете просто открыть два файла и просмотреть их содержимое, например, когда вы хотите сравнить два изображения или два текстовых файла. Однако это довольно утомительное задание, и вы можете пропустить небольшие различия, такие как незначительное изменение оттенка на фотографии или фразы в текстовом файле. Вот почему полезно знать несколько методов программного сравнения содержимого двух файлов, используя программное обеспечение вместо ваших чувств. 🙂 Вот три способа сделать это, используя PowerShell или сторонние приложения для Windows.
Как сравнить два файла с помощью PowerShell
В Windows 10 нет встроенного инструмента для сравнения двух файлов. Однако вы можете использовать PowerShell для этого. Начните с открытия PowerShell: быстрый способ сделать это — одновременно нажать клавиши Win + X на клавиатуре, а затем нажать I, если вы хотите запустить PowerShell от имени обычного пользователя, или A, если вы хотите запустить его от имени администратора. ,
Открыв PowerShell, выполните следующую команду:
Конечно, вы должны изменить «Path to the first file» и «Path to the second file» с реальными путями к вашим файлам. Например, мы хотели сравнить два файла с именами DigitalCitizen1.txt и DigitalCitizen2.txt, оба из которых находятся на нашем диске D:.
Чтобы сравнить их содержимое, мы должны были запустить эту команду:
Если содержимое этих двух файлов одинаковое, выходные данные, которые вы получаете в PowerShell, сообщают, что «The two compared files are identical».
Если содержимое этих двух файлов отличается, вывод, который вы получаете в PowerShell, говорит вам, что «The two compared files are NOT identical».
Хотя использование PowerShell является быстрым и довольно простым, некоторые люди не любят использовать среды командной строки. Поэтому мы также покажем вам, как сравнивать два файла в Windows с помощью сторонних приложений, которые предлагают графический интерфейс пользователя.
Как сравнить два файла с помощью Total Commander
Total Commander — условно-бесплатный файловый менеджер, доступный для всех версий Windows. Вы можете получить его с официального сайта, здесь: Total Commander. После того, как вы установили и открыли его, используйте его окна, чтобы перейти к двум файлам, которые вы хотите сравнить. В левой части Total Commander перейдите к первому файлу, а справа — ко второму файлу. Затем выберите два файла, нажав на них, а затем нажмите пробел. Когда файлы выбраны, их имя окрашивается в красный цвет, как вы можете видеть на скриншоте ниже.
Теперь откройте меню «Файлы» в меню Total Commander в верхнем левом углу и нажмите «Сравнить по содержимому».
Если два файла, которые вы выбрали для сравнения, идентичны, Total Commander откроет небольшое всплывающее окно, в котором будет сказано, что «эти два файла имеют одинаковое содержимое!».
Если содержимое двух сравниваемых файлов различается, Total Commander открывает окно, в котором отображаются различия между двумя файлами, выделенные красным.
Total Commander также предоставляет вам другие варианты для проверки различий и редактирования двух файлов, но они выходят за рамки этого учебного пособия, поэтому мы позволяем вам обнаружить их самостоятельно.
Как сравнить два файла с помощью AptDiff
Бесплатное приложение, которое может помочь вам сравнивать файлы по содержимому — AptDiff. Хотя приложение больше не поддерживается, оно по-прежнему работает во всех версиях Windows от Windows 2000 и выше, включая Windows 10. Вы можете получить его из Softpedia.
После установки и открытия AptDiff он сразу же попросит вас выбрать файлы, которые вы хотите сравнить. Введите пути к двум файлам или используйте кнопки «…», чтобы просмотреть ваш компьютер и выбрать их.
Затем выберите, хотите ли вы сравнить два файла как текстовые файлы, или вы предпочитаете сравнивать их на двоичном уровне. Вы можете выбрать любой вариант, независимо от типа файлов, которые вы сравниваете. Однако следует помнить, что после сравнения содержимого файлов приложение загружает их содержимое в две отдельные панели и показывает выявленные различия, если таковые имеются. Если вы выберете «Сравнить как текст», на двух панелях будет отображаться содержание текста и различия. В противном случае, если вы выберете «Сравнить как бинарный», содержимое двух файлов будет показано в шестнадцатеричном коде.
Как и Total Commander, AptDiff также позволяет вам использовать дополнительные инструменты для сравнения и редактирования содержимого двух файлов.
Какой ваш любимый способ сравнения двух файлов по содержимому?
Теперь вы знаете три простых способа сравнения двух файлов по содержимому в Windows. Какой из них ваш любимый? Вы предпочитаете использовать команды в PowerShell или предпочитаете устанавливать и использовать сторонние приложения, которые также имеют визуальный интерфейс? Если вам известны другие способы сравнения файлов, сообщите нам об этом, оставив комментарий в разделе ниже.
Как сравнить два файла, в чем у них различия (текст, Word/Excel-документы, Exe-файлы)
Приветствую всех читателей!
Сегодняшняя заметка будет относиться к офисной тематике. (а точнее: речь пойдет о сравнении нескольких документов между собой).
Представьте , у вас есть парочка документов, в которых частично различается текст (например, где-то уже исправленный, а где-то «старый», с ошибками. ). И теперь нужно найти между ними различия, принять их к сведению, и собрать из 2-х файлов один.
Можно, конечно, сориентироваться по дате — однако, далеко не всегда такой подход будет уместен. Но вот если бы какая-то программа нашла и выделила несовпадающие символы (строки). это было бы здорово! 👌
Собственно, о нескольких подобных примерах и пойдет речь в этой заметке.
Нюансы: о каких файлах идет речь
Текстовые файлы
И так, начать заметку (я думаю) стоит с самых обычных текстовых файлов (коих большинство). Задача перед нами будет следующая : есть два почти одинаковых текстовых файла (в формате TXT), и нужно найти в них отличные строки и символы, и подсветить их (о чем я и сказал выше).
Для работы нам понадобится блокнот 👉 Notepad++ (ссылка на офиц. сайт) . Установка у программы стандартная (поэтому ее опускаю).
Далее делаем следующее:
- запускаем Notepad++ и открываем меню «Плагины / управление плагинами» — в списке плагинов находим «Compare» и соглашаемся на его установку (см. пример ниже 👇);
Устанавливаем плагин в Notepad++
затем открываем в программе два текстовых файла, которые нужно сравнить (стрелочка 1 на скрине ниже 👇). Далее переходим в меню «Плагины / Compare / Compare» (или нажимаем сочетание Ctrl+Alt+C);
Открываем два нужных файла и жмем кнопку сравнения
в результате Notepad++ сравнивает построчно файлы и выделяет все различия: как в строках, так ив конкретных символах (даже, если разница всего в одну запятую или точку!). См. мои файлы ниже. 👇
Места, где есть различия, были выделены! // Notepad++
Документы Word / Excel (+ текстовые в т.ч.)
Начну с MS Word.
Программа универсальная и позволяет сравнивать как документы формата Docx, так и обычные текстовые файлы (TXT, RTF и пр. форматы).
Делается это так (на примере Word 2019):
- сначала необходимо открыть оба файла в Word (как правило достаточно по нужному файла кликнуть правой кнопкой мыши и в меню указать, что требуется открыть в Word, см. пример ниже 👇) ;
Открываем 2 файла в Word
после необходимо перейти во вкладку «Рецензирование» и кликнуть по инструменту «Сравнить / сравнить 2 версии документа» (пример ниже 👇);
Рецензирование — Сравнить (Word 2019)
далее Word попросит указать эти два документа — просто выбираем из списка исходный документ и измененный;
в итоге эти документы будут автоматически проанализированы и все отличия выведены на экран (кстати, Word автоматически покажет все исправления!). 👇
Что получается в итоге // Word подсчитал сколько было мест с исправлениями (в моем случае 8!).
👉 Что касается Excel
С одной стороны — в Excel есть десятки способов, как можно сравнить две таблички между собой, с другой — в зависимости от конкретной задачи в каждом случае нужно «всё подгонять» под себя (универсального способа на все случаи жизни — нет!). 👌
Ниже приведу лишь парочку наиболее простых вариантов (разумеется, есть много др. способов решения).
- для начала необходимо скопировать (сочетания в помощь: Ctrl+C / Ctrl+V) обе таблички на один лист в Excel (в качестве примера у меня табличка с именами 👇);
Пример двух табличек
далее нужно выделить мышкой область с этими двумя таблицами и перейти в меню «Главная / Условное форматирование / повторяющиеся значения» (см. пример ниже 👇);
Выделяем таблицы, и вкл. повторяющиеся значения
после, указать, что требуется выделить лишь «уникальные» значения — и Excel автоматически подсветит уникальные строки (т.е. те, которые отличны в таблицах). Как это выглядит — показано ниже. На мой взгляд задачу можно считать решенной. 👌
Все отличия были найдены!
В Excel есть одна довольно мощная функция ВПР — она позволяет сравнивать 2 таблицы и при нахождении чего-то «несовпадающего» — выполнять условие (скажем, подставить значение из одной таблицы в другую). О том, как с ней работать — показано в одной моей прошлой статье (парочка ссылок ниже).
1) Excel: как сравнить 2 таблицы с помощью функции ВПР — см. простейший пример.
Др. бинарные файлы Exe, Com и пр. (возможно без расширения)
Тема очень специфичная, и я включил ее в заметку только для общей информации.
Сравнить два EXE-файла (или любых других, у которых нет расширения, и вы даже не знаете их тип данных) можно с помощью спец. редактора шестнадцатеричных, десятичных и бинарных файлов. Например, один из доступных для начинающих — это 👉 Hex Editor Neo (ссылка на сайт разработчика).
Как с ней работать : сначала необходимо запустить программу и открыть в ней оба файла (это стандартно, как и в др. софте). Далее перейти в раздел «Tools / File Comparison / Compare Files» . 👇
Hex Editor Neo — инструмент сравнения
В результате Hex Editor Neo автоматически разделит экран поровну на две части и подсветит несовпадающий код. 👇
Разумеется, для дальнейшего редактирования и более-менее осмысленной работы — необходимы определенные знания / либо точно знать, какой кусок нужно удалить, поменять (можно, конечно, поэкспериментировать. но результаты могут быть самыми разными — от ошибок при запуске отредактированного файла, до «вылетов» синих экранов).
Картинки
Вообще, две картинки чаще всего сравнивают просто на «глазок», ставя их одну к одной. Впрочем, для этого можно использовать и спец. утилиты — например, те, которые используются для поиска дубликатов файлов. Я на страницах блога как-то упоминал о них, ссылка ниже в помощь.
Обратите внимание , программа Image Comparer 👇 автоматически выделят на картинках те области, к которым стоит присмотреться (либо есть различие, либо они не четкие и нельзя точно сказать наверняка. ).
Image Comparer — скрин работы приложения (от разработчика)
Дополнения по теме (👇), разумеется, приветствуются!
Путеводитель по программам для сравнения данных
Синхронизация данных требует от программистов, системных администраторов и времени, и соответствующих навыков. Однако не менее важен правильно подобранный инструментарий. Контроль версий, работа с проектами, резервное копирование, слияние и визуальное сравнение файлов — далеко не полный список задач, так или иначе связанных с синхронизацией.
В путеводитель вошли 10 программ, которые можно назвать во многом универсальными: они не привязаны к определенному сервису или приложению, позволяют выполнять вышеназванные (и менее специализированные) задачи не только через графический интерфейс, но и в режиме командной строки.
Критерии сравнения выглядят следующим образом:
- Интерфейс: поддержка режимов отображения, сохранение сессий, возможности настройки панели инструментов, колонок
- Функциональность текстового редактора, работа с исходным кодом
- Методы слияния и синхронизации, возможность трехстороннего сравнения
- Экспорт отчетов, создание патчей (diff)
- Дополнительные функции: интеграция со сторонними приложениями, поддержка расширений, протоколов и др.
SmartSynchronize
SmartSynchronize — кроссплатформенная программа для сравнения данных, структуры директорий и их содержимого. Фактически, программа бесплатна для некоммерческого использования, тем не менее, однопользовательская лицензия стоит 39 USD.
Режимы сравнения представлены в приветственном окне программы. Помимо диалога выбора файлов, здесь возможен просмотр истории и выбор сохраненного профиля. Также в настройках (Preferences) настраиваются фильтры: файловые — для отсеивания файлов по названию и расширению, и фильтры директорий — позволяют составить список исключений.
Для сравнения файлов используется двухпанельный режим side-by-side с синхронной прокруткой содержимого обеих панелей. Условных обозначений в SmartSynchronize немного, но, благодаря соединительным линиям (linking lines), операции сравнения и слияния очень интуитивны. SmartSynchronize указывает, куда и в каком направлении будет добавлен участок из одного файла в другой. Вставка текста производится одним кликом, позволяя обойтись без контекстного меню.
Кодировку и синтаксис документа можно определить вручную, предусмотрена подсветка синтаксиса для многих языков программирования и разметки, нумерация строк и другие редакторские функции, присущие интегрированным средам разработки IDE.
В целом, SmartSynchronize гибко настраивается, но все настройки распределены по разным разделам меню, что требует некоторого привыкания. Не хватает режимов отображения, настроек панели инструментов.
В режиме сравнения директорий выводится список файлов и статус для каждого из них, в нижней части окна доступен предосмотр. Метод сравнения — по содержимому или только по размеру и времени — определяется в настройках Edit → Preferences. Количество информационных колонок (тип файла, дата) нельзя увеличить, хотя отключить имеющиеся можно.
В SmartSynchronize реализовано как одностороннее объединение данных с левой или правой сторонами, так и обычная синхронизация. Конфигурацию можно сохранить для последующей загрузки, сделав снимок файловой структуры. Как поясняют разработчики, программа не распознает атрибуты файлов, поэтому использовать ее в качестве утилиты для резервирования нет смысла. Работа с архивами также не предусмотрена, равно как и с удаленными каталогами.
Помимо вышеупомянутых, имеется дополнительный, трехсторонний метод слияния — 3-Way-Merge, который позволяет объединить различия между несколькими версиями файлов, причем каждый из трех документов можно редактировать независимо друг от друга.
Функции сравнения, несомненно, востребованы программистами при контроле версий. Поэтому в заключение стоит сослаться на альтернативное решение этой же компании — SmartCVS. Программа представляет собой CVS-клиент с интегрированным инструментарием SmartSynchronize.
Резюме. SmartSynchronize предлагает неплохой инструментарий для работы с файлами и директориями, местами не поддающийся настройке и не выходящий за рамки базовых возможностей.
[+] Трехстороннее слияние
[+] Удобный текстовый редактор
[−] Отсутствие документации
[−] Невозможность синхронизации удаленных каталогов и архивов
WinMerge
WinMerge — программа для сравнения и объединения файлов и каталогов в ОС Windows. Ее можно использовать как отдельный инструмент либо в связке с проектами. В WinMerge встроен текстовый редактор с поддержкой языков программирования, подсветкой и нумерацией строк.
Имеется два режима работы с данными, объединенных в диалог выбора файлов и папок. При сравнении доступны фильтры двух типов: фильтры файлов и строковые. Это позволяет использовать различные надстройки и оперировать регулярными выражениями, отсеивая необходимые типы данных при сравнении.
В режиме сравнения файлов в окне отображаются оба файла, в левой и правой части. Для удобной навигации по содержимому предусмотрена карта («Местоположения»). Строки, которые имеют различия, отмечены цветом, также с ними можно ознакомиться в панели «Отличия». Основные операции слияния доступны в разделе «Объединение».
Отдельного внимания заслуживает функциональность текстового редактора. Внешний вид поддается модификации. Помимо подсветки синтаксиса и нумерации строк, предусмотрена работа со скриптами, а расширение функциональности возможно за счет дополнений. Дополнения относятся к распаковщику, представлению и редактору скриптов.
При сравнении каталогов результаты выводятся табулированным списком. В нем содержатся сведения о названии файла (каталога), его расположении, результат сравнения, дата, расширение и другая информация. Настроить отображение можно с помощью колонок. При необходимости можно активировать рекурсивный режим или переключиться в представление в виде дерева для удобной навигации.
WinMerge позволяет выполнять одни и те же задачи разными способами — в том числе, с помощью перетаскивания или через контекстное меню Проводника. Можно создавать проекты для быстрого доступа к данным и настройкам. WinMerge работает в режиме командной строки, также программу можно использовать в связке с системами контроля версий (TortoiseSVN, Visual Studio, Rational ClearCase и т. п.).
Резюме. WinMerge — программа, в первую очередь, с уклоном на работу с проектами. Интеграция с SVN, функциональный редактор, фильтры и расширения — все это отлично дополняет базовые возможности при сравнении данных.
[+] Поддержка расширений
[+] Функциональный редактор
[+] Интеграция со сторонними приложениями
[−] Нет трехстороннего сравнения
Meld — кроссплатформенная программа (OS X, Linux, Windows) для синхронизации файлов и директорий. С ее помощью осуществляется как двух-, так и трехстороннее сравнение. Прежде всего, инструментарий Meld будет полезен разработчикам, так как возможна интеграция с системами управления версиями: Git, Bazaar, Mercurial, Subversion и прочими.
Несмотря на поддержку нескольких платформ, приложение далеко не стабильно функционирует в Windows. Скажем, вкладки и окна не всегда открываются и закрываются корректно. Возможно, проблемы связаны с библиотекой PyGTK, входящей в инсталлятор. Запустить программу получилось не сразу и только от имени администратора. Ошибки возникают постоянно, в подтверждение — перечень текущих проблем.
В процессе сравнения файлов можно задействовать текстовый фильтр или поиск (поддерживается синтаксис regex). Предусмотрены подсветка синтаксиса (используется библиотека gtksourceview), нумерация строк, учет пробелов и другие опции, которые нужно активировать через настройки, так как по умолчанию они отключены. Вставки, изменения и конфликты в документе подсвечиваются, возможна быстрая навигация по списку изменений и экспорт в формате diff. Связь между файлами легко отследить с помощью соединительных линий и одним кликом произвести слияние нужных участков.
Сканирование файлов директорий работает очень медленно. Это связано с тем, что сравнение осуществляется по содержимому, а не по размеру и временно́й отметке. Проблема решается установкой флажка напротив соответствующей опции в настройках. Набор доступных колонок весьма ограничен: размер, дата модификации и разрешения. Хотя и можно воспользоваться файловым фильтром, просмотр длинного списка файлов все равно превращается в рутинный процесс: нельзя мгновенно остановить сканирование, свернуть дерево файлов, быстро переместиться к нужным элементам.
Разработчикам будет интересен третий режим работы приложения — Version Control View. Meld поддерживает интерфейс командной строки, поэтому предусмотрена интеграция со средами Git, Bazaar, Mercurial, Subversion и многим другими.
Резюме. Программа Meld зарекомендовала себя с хорошей стороны в среде Linux, чего нельзя сказать о функционировании в Windows. Нестабильная работа и неудобный интерфейс, отсутствие сессий, недостаточная гибкость настройки. С другой стороны, инструментарий программы неплох, а качественная адаптация Meld для Windows, возможно, лишь вопрос времени.
[+] Трехстороннее сравнение
[+] Поддержка систем контроля версий
[−] Медленная и нестабильная работа в Windows
[−] Неудобный и неинформативный интерфейс
Diffuse
Diffuse —кроссплатформенный продукт для ОС Windows, OS X, Linux и BSD, по интерфейсу напоминающий Meld (в основе — библиотека PyGTK), но имеющий функциональные отличия. Заявлена интеграция с Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion и другими средами.
Продолжая сравнение с Meld: Diffuse характеризуется стабильностью, здесь нет внезапных зависаний. Доступна подробная документация, интерфейс переведен на русский язык. Однако сравнение директорий не входит в инструментарий, в программу заложены только функции сравнения файлов и их редактирования. В Diffuse можно обнаружить несколько режимов слияния: — двух-, трех- и многостороннее. Таким образом, источников сравнения может быть сколько угодно, вопрос лишь в быстродействии и удобстве. Касательно второго аспекта можно лишь сказать, что сессий здесь нет — соответственно, работа с большими проектами в Diffuse под вопросом.
Различия отмечаются цветом, сводка (Comparison Summary) доступна возле полосы прокрутки, для навигации по списку изменений предназначены кнопки на панели управления. Нумерация строк и подсветка синтаксиса с возможностью ручного переключения включены по умолчанию. В отличие от других подобных редакторов, в Diffuse нельзя сразу выделить произвольный участок текста, для этого необходимо дважды кликнуть по содержимому. В ином случае можно выделять текст и производить другие действия только построчно.
Очевидно, что в Diffuse перелинковки различий между файлами нет, поэтому слияние строк осуществляется менее интуитивным методом. Все доступные команды собраны в разделе «Слияние», куда нужно обращаться каждый раз за неимением команд в контекстном меню. В SmartSynchronize или других упомянутых решениях многие операции производятся в один клик.
Работа с системами управления версиями возможна посредством командной строки, перечень команд с описанием изложен в справке.
Резюме. Функциональность такого рода востребована при слиянии нескольких текстовых документов. Программа лишена недостатков, присущих ближайшему аналогу Diffuse — Meld. Но, к сожалению, сравнение директорий и отчетность остались за бортом.
[+] Удобная работа со строками
[+] Интеграция с CVS
[+] Многооконное слияние
[−] Отсутствие сессий
[−] Маркировка изменений не интуитивна
Perforce P4 Merge
P4Merge нечасто упоминается среди других бесплатных продуктов (например, по сравнению с WinMerge). К тому же отыскать эту программу среди других компонентов комплекса Perforce непросто. Perforce — это коммерческая кроссплатформенная система управления версиями, обладающая широкой сферой применения, не в последнюю очередь за счет плагинов и интеграции с различными продуктами (IntelliJ IDEA, Autodesk 3D Studio Max, Maya, Adobe Photoshop, Microsoft Office, Eclipse, emacs и др.). Впрочем, P4 Merge может работать автономно от сервера Perforce, достаточно скачать программу с сайта разработчика для ее бесплатного использования.
Основные операции — это сравнение файлов (Diff) и слияние (Merge). Редактор документов предельно прост: есть нумерация, но нет подсветки синтаксиса. Редактировать файлы в двух панелях «на лету» нельзя, нужно выбрать одну из панелей, включить режим редактирования и затем сохранить изменения. Различия маркируются, для перехода между ними предназначены кнопки навигации. Ориентироваться по изменениям проще всего с помощью соединительных линий. В целом, интерфейс P4 Merge недостаточно удобен: в нем нет сводки по различиям, статистика по изменениям представлена суммарной цифрой, без детализации, для просмотра изменений нужно использовать ручное обновление.
Перечисляя другие особенности программы, стоит упомянуть сравнение изображений. В данном режиме обнаружились две полезные функции: подсветка различий и слияние двух файлов в один. При этом непонятно, почему меню редактора содержит невостребованные команды, такие как смена кодировки, методы сравнения и прочие, которые относятся к сравнению текстовых файлов, но никак не изображений.
Резюме. Конечно, в P4 Merge множество функциональных ограничений, особенно если сравнивать с платными продуктами. Приложение можно рассматривать сугубо как дополнение к серверу Perforce. Возможно, в поисках нужного инструментария следует обратить внимание и на другие компоненты, доступные на сайте разработчика.
[+] Диаграмма слияния в режиме Merge
[−] Слабая функциональность
[−] Невозможность редактирования на лету
[−] Отсутствие команд слияния