Сравнение файлов в двух папках. Как сравнить файлы и папки

Этим вопросом я увлекся на прошлых выходных, когда возникла задача синхронизировать большие объемы информации (фотки, видео) на двух носителях (основной винт и бекап). Фоток и видео - тысячи файлов, общим объемом пару сотен гиг. В ручную будет быстрее переснять все заново, чем сравнить. Как быть? Перед тем как написать свою программу на Deplhi (как я часто поступаю, когда надо атоматизировать какую-то рутинку на компе) я стал немного поискать в сети. Десятки левых программ и наконец-то оно! Total Commander. Я как-то без него все это время обходился, но теперь понимаю, что за непримечательным интерфейсом скрывается офигительная мощь! Итак, как сравнить две папки в Total Commander"е?

Внимание, могут пострадать твои драгоценные файлы! Так как файлы мне были дороги как память, то я очень подозрительно относился к тому, что делает программа и к тому, что делаю сам с помощью программы. Дело в том, что программы ошибаются (скорее программисты, их писавшие), а оператор (то бишь я), делая рутинную операцию продолжительное время, начинаю ускоряться и кликать случайно не на те клавиши (а потом очень жалею). По этой причине, для начала, настоятельно рекомендую скопировать пару синхронизируемых папок в отдельное место-песочницу и поиграться там, столько времени, сколько потребуется (пока не появится чувство уверенности - "я знаю, что делаю"). Мне хватило часа, чтобы разобраться во всех настройках программы и набить руку. "Набить руку" тут значит сделать множество ошибок при копировании и проанализировав их больше не наступать на те же грабли. Еще раз повторюсь - на втором часу синхронизации внимание притупляется и какую-то галочку можно случайно не поставить, а от этого зависят результаты сохранения! Делай перерывы каждый час, иначе потеряешь файлы. "Перерывы" - значит встать из за компа, пока он сравнивает и поделать что-то физически активное.

Поехали. Как я синхронизировал файлы в папках? Открывал слева папку (1) , которая в меньшинстве (рабочая папка), а справа выставлял ту же папку но на бекап-винте (2) .

Если мне слева (1) нужны были не все папки для синхронизации, то я правой кнопкой мыши выделял их (3) (как странно, по правой кнопке мыши кроме контекстного меню еще и выделение срабатывает - но вскоре я привык).

Опишу по очереди:

"Выделенные (в главном окне)" приведет к тому, что сравниваться будут только те папки слева (со всеми, что справа, которые отмечены (3) .

"Пустые каталоги" - я так понял (но не уверен), что сравниваться будут даже пустые каталоги. Но пользы я не получил от нее.

"Асинхронно" - понятия не имею что это значит.

"С подкаталогами" - говорит программе о том, что мы хотим проверить папки с подпапками и подподпапками на всех уровнях вложенности....

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

"Игнорировать дату" - должно стоять, в противном случае файлы с одинаковой датой не будут проверяться "По содержимому"

Есть вариации на тему сравнения по содержимому (кнопочка ">>" рядом с чекбоксом), но predefined плагинов не было, а потому я не оценил.


После того, как будет нажата кнопка "Сравнить" пойдет сбор информации по папкам, с последующим сравнением файлов между собой (в зависимости от настроек (5) ). Результатом сравнения будет картинка (6)

Только те, что есть слева (1)

Только те, что есть справа (2)

Те, что и слева (1) и справа (2) равны

Те, что есть и слева (1) и справа (2) , но не равны

Только дубликаты (те, что есть и слева (1) и справа (2) )

Только уникальные (те, что есть или слева (1) или справа (2) )

Кликнув на любой файл можно с ним сделать ряд действий (7) :

1) "Отметить для копирования (направление по умолчанию)

2) "Снять маркер копирования/удаления"

3) " Отметить для копирования -> (слева направо)"

4) "Отметить для копирования <- (справа налево)"

5) "Поменять направления копирования"

6) "Внутренний просмотр слева"

7) "Внутренний просмотр справа"

8) "Сравнить левйы и правый файлы"

9) "Копировать свойства файла -> (слева направо)"

10) "Копировать свойства файла <- (справа налево) "

11) "Печать выделенного"

12) " <- Удалить слева"

Как сравнить файлы и папки. Сегодня будем рассматривать программу для сравнения данных — «Meld». Это кроссплатформенное решение. Работает в OS X, Linux, Windows. Доступно сравнение сразу трех объектов. Что особенно важно для разработчиков, возможна интеграция с системами контроля версий — Git, Bazaar, Mercurial, Subversion и другие.

Обзор программы Meld

Команда для установки:

sudo apt-get update && sudo apt-get install meld

Для остальных скачать можно с официального сайта

Сравниваем каталоги (папки)

Для начала рассмотри как сравнить папки. После установки программы meld запустим и увидим такой интерфейс, смотрите скриншот.

Выберите «Сравнение каталогов». Нажмите на кнопку со стрелкой и надписью «Нет». Выберите требуемые каталоги. Можно сравнить две или три папки. Для трех поставьте флаг «3-х полосное сравнение».

Нажмите кнопку «Сравнить»

Отобразятся каталоги с содержимым. Можно наглядно посмотреть в каких, что находится.

Как видим зеленым цветом отображаются существующие объекты а серым цветом с зачеркнутым названием отсутствующие. С помощью управляющих кнопок можно копировать между собой недостающие файлы и папки или удалять. Те же действия можно совершать с помощью контекстного меню которое можно вызвать правой кнопкой мыши. Дополнительно в этом меню есть опция «Открыть внешним приложением». Например, можно сразу отрыть и отредактировать файл с помощью вашего штатного текстового редактора.

Если каталогов и папок очень много можно применить фильтры расположенные в верхнем меню, что бы сделать отображение более компактным.

Сравниваем файлы

Теперь перейдем к сравнению файлов. Здесь все так же как и при сравнении папок только выбрать нужно кнопку «Сравнение файлов». Точно так же выбираем требуемые файлы. Можно сравнить два файла или три. Все так же как с каталогами.

Нажимаем кнопку «Сравнить».

Увидим разницу в документах. В местах, где есть несовпадение, нажав на черные стрелки копируйте строку в нужном направлении. На приведенном примере нажав на левую стрелку будет скопирована строка с недостающим тегом «» в документ расположенный справа в котором этого тега нет.

Сравнение папок - Compare Suite простое и доступное решение

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

Да, корректное и быстрое сравнение папок часто требуется для множества компьютерных специалистов. Сегодня появилось наконец и качественное, адекватное решение - программа, которая может быстро провести сравнение папок по их содержимому. И надо сказать, еще ни один популярный файловый менеджер не мог предоставить пользователю осуществить сравнение папок с теми многочисленными функциями и опциями, которые дает эта программа. Сравнение папок с ней стало приятным и удобным. Называется это офисное чудо - Compare Suite.

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

Любую прикладную утилиту, получившую заслуженную популярность, отличают, помимо стандартных возможностей и функций, некоторые "изюминки", которые делают работу с ней особенно удобной. Compare Suite не стала исключением. Сравнение папок - это далеко не все, что эта программа умеет делать. Например, при сравнении текстовых документов она может подсвечивать специальные теги всех языков программирования, использовать их служебные и регулярные выражения, сравнивает файлы, DOS Windows, Unix и Macintosh. Генерирует подробные отчеты о различиях, которые были обнаружены при сравнение папок. Для многих и многих людей, программа Compare Suite стала приложением, которым они пользуются каждый день.

Возможно, у вас есть большое количество фотографий, которые вы собираете в течение нескольких лет, на всякий случай вы держите копию фотографий на нескольких носителях, например на флешке и компьютере, или на диске C и диске D. Папка с фотографиями занимает очень много места, а копирование всех файлов занимает длительное время. Так вот, чтобы не сидеть и не тратить кучу времени на сравнивание вручную всех файлов в папках, можно прибегнуть к помощи файлового менеджера «Total Commander».

« » это бесплатный продвинутый файловый менеджер, он одновременно может работать в двух разных местах на компьютере, это очень удобно, когда вы копируете информацию с одного носителя на другой, вы видите сразу 2 носителя. Так же он может работать с системными файлами, это очень полезно для людей некоторых профессий.

  1. Мы будем использовать Total Commander версии 7.56а, более новую версию вы можете найти и скачать с официального сайта разработчика http://www.ghisler.com/ .
  2. Входим с левой стороны одну из сравниваемых папок, а с правой стороны – вторую из сравниваемых папок. Для примера мы возьмем две папки, которые находятся на разных носителях, жестком диске и флешке. В каждой папке есть несколько одинаковых фотографий и документов, а так же есть и расхождения в составе.
  3. Выбираем пункт «Инструменты».
  4. Выбираем «Синхронизировать каталоги…». В появившемся меню выбираем пункт «Синхронизировать каталоги…»
  5. Настройка пунктов сравнения папок с файлами. В открывшемся окне внимательно ставим все необходимые галочки:
    • «Выделенные (в главном окне)» — в сравнение войдут только те папки, в которых вы находитесь справа и слева.
    • «Пустые каталоги» — сравниваться будут не только папки с содержимым, но и пустые папки. Ставим галочку.
    • «Асинхронно» — папки будут обрабатываться друг от друга (лучше не ставьте тут).
    • «С подкаталогами» — сравниваться будут так же и все вложенные папки. Ставим эту галочку.
    • «По содержимому» — если поставить галочку, будет сравниваться каждый байт, и при малейшем расхождении программа скажет нам об этом. Эту галочку ставить нужно, особенно когда сравниваете документы, иначе файлы будут считаться разными, только если называются по-разному, а на содержимое документа программа смотреть не будет. Мы эту галочку так же ставим.
    • «Игнорировать дату» — ставим галочку обязательно, если ее не поставить, содержимое файлов с одинаковой датой сравниваться не будут.

  6. Итак, мы расставили все нужные галочки, и теперь нажимаем кнопку «Сравнить».
  7. В процессе работы программы мы видим, что она сравнивает каждый файл по очереди, и выдает одно из четырех значений:
    • «зеленая стрелка» — показывает файлы, которые будут копироваться с левой стороны вправо.
    • «синяя стрелка» — показывает файлы, которые будут копироваться с правой стороны влево.
    • «знак равно» — показывает полностью идентичные по содержимому файлы.
    • «перечеркнутый знак равно» — показывает разные по содержимому файлы, хотя по названию они могут быть одинаковыми. Это нужно как раз при сравнении документов.