Программное обеспечение Windows, необходимое для сравнения 2 папок по дереву с листьями

потрепанный

Программное обеспечение Windows, необходимое для сравнения 2 папок по дереву с листьями

На самом деле, у меня есть 2 версии папки с несколькими папками и файлами и максимальной глубиной 6, теперь я не уверен, какие изменения я сделал в каком файле и в какой версии.

Сценарии использования

  1. Мне нужен инструмент, который перечислил бы все файлы, которые не совпадают
  2. Затем при нажатии на измененный файл отображаются изменения, аналогичные Diff в svn.

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

пользователь416

Я предлагаю вам использовать Total Commander (если для Windows).

Сначала вы выполняете сравнение каталогов, которое позволяет вам быстро проверить, какие файлы/папки отсутствуют/более новые/другие:

введите описание изображения здесь

С помощью операций копирования/перемещения файлов вы можете синхронизировать полные файлы.

Затем вы выполняете сравнение содержимого файлов, и в режиме редактирования вы можете копировать разные фрагменты из файла в файл:

введите описание изображения здесь

Вы можете использовать полнофункциональную условно-бесплатную версию или получить пожизненную регистрацию за 40 долларов – 32 евро.
Я живу в этой программе из-за множества других функций.

ДжерриД

С веб-страницы Total Commander: «Total Commander для Windows является условно-бесплатной (демо-версией) программой. Это означает, что вы можете протестировать ее в течение 30 дней. После тестирования программы вы должны либо заказать полную версию, либо удалить программу с вашего жесткого диска».

пользователь416

@JerryD Я пропустил это, извините. Я только что заплатил за это.

Хловдаль

Я рекомендую KDiff3 , который доступен для Windows, OS X и Unix. Он находится в свободном доступе (GPLv2). Его возможности сравнения превосходны! Ниже приведен скриншот сравнения двух каталогов с исходным кодом ядра Linux:

Скриншот KDiff3

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

Франк Дернонкур

В Unix, OS X и Windows вы можете использовать Meld :

  • бесплатно и с открытым исходным кодом
  • Двух- и трехстороннее сравнение файлов и каталогов
  • Сравнение файлов обновляется по мере ввода
  • Режим автоматического слияния и действия над блоками изменений упрощают слияние.
  • Визуализации упрощают сравнение ваших файлов
  • Поддерживает Git, Bazaar, Mercurial, Subversion и т. д.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Ник Дикинсон-Уайлд

Предполагая, что Windows

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

  • Вариант использования 1: просто выберите две папки в диалоговом окне сравнения, а затем отсортируйте по comparison result(например, см. снимок экрана)
  • Вариант использования 2: Просто дважды щелкните любой из файлов, чтобы увидеть различия для этого конкретного файла, или выберите два файла в диалоговом окне сравнения, и он сравнит их.экран

Николя Рауль

К сожалению, WinMerge не показывает, содержит ли папка отличия или нет (рекурсивно). По крайней мере, я не нашел способа показать это. Эта проблема затрудняет использование WinMerge для сравнения «дерева с листьями» в 6-уровневых иерархиях.

Франк Дернонкур

В Linux вы можете использовать Krusader :

  • бесплатно и с открытым исходным кодом
  • перечислить все файлы, которые не совпадают
  • может сравнивать файлы по содержимому с помощью внешних программ сравнения, таких как Kompare, KDiff3 или xxdiff.

введите описание изображения здесь

введите описание изображения здесь

Мирослав

выглядит как "вдохновленный" Total Commander :)

Мирослав

Я рекомендую Total Commander , у него есть специальный инструмент сравнения поддеревьев в меню Commands> Synchronize Dirs...:

введите описание изображения здесь

Я использую его для сравнения/синхронизации проектов со 100 000 файлов в дереве из 8 000 каталогов.

Флажки:

  • Асимметричный

    • отключено = левая и правая сторона равны
    • включено = левая сторона является источником, правая сторона является целью, поэтому можно сгенерировать удаление файлов с правой стороны (см. строки с красным крестиком на демонстрационном изображении)
  • Subdirs - также сравнить подкаталоги

  • По содержимому — также сравнивать файлы по содержимому (побайтно)

  • Игнорировать дату - сравнивать файлы только по имени и размеру (и по содержимому, если отмечено)

Другие элементы управления:

  • введите описание изображения здесь- кнопки переключения для отображения/скрытия категорий предметов

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

Обратите внимание, что в моем демонстрационном образе на левой панели есть ZIP-архив.

В основном списке каждую строку можно оценить отдельно:

  • F3- показать левый файл

  • Shift+ F3- показать правильный файл

  • Ctrl+ F3- запустить инструмент построчного сравнения (включая редактор). Его скриншот может быть включен в другой ответ.

ОМИ

У меня была аналогичная проблема, и я наткнулся на эту статью о том, как различать две папки из командной строки Windows . Для этого используется утилита Microsoft RoboCopy , которая включена в Windows Vista и более поздние версии. Он работает как с локальными папками, так и с сетевыми файлообменниками.

Команда:

ROBOCOPY «\FileShare\SourceFolder» «\FileShare\ComparisonFolder» /e /l /ns /njs /njh /fp /log:reconcile.txt

В статье фактически предлагается использовать переключатель /ndl , чтобы уменьшить размер файла журнала, ОДНАКО он предупреждает, что когда переключатель /ndl активен...

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

Обратите внимание, что все файлы и папки сравниваются с использованием /ndl или без него, но в журнал заносятся изменения.

Веб-страница Microsoft, объясняющая синтаксис и параметры RoboCopy, находится по адресу: https://technet.microsoft.com/en-us/library/cc733145.aspx .