Сравнение структуры папок в двух средах

Существуют ли хорошие инструменты для сравнения двух структур папок (включая файлы) между двумя средами?

т.е. сравнивая компьютер разработчика с производством

Редактировать:

Примечание о некоторых извлеченных уроках: dir /s /o:N >> output.txt хорошо работает в сочетании с инструментом сравнения текста (я использовал WinMerge), но файловая система действительно имеет значение. NTFS против FAT32 не работает, так как один сканирует папки в обратном алфавитном порядке, а другой - нет. Чтобы решить эту проблему, я скопировал файлы с FAT32 на диск NTFS.

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

Я уверен, что у других есть мысли по поводу этого с *NIX. Вероятно, похожая техника, как ls -alR > output

Это все еще довольно ручное, но это работает хорошо.

Просто имейте в виду, что время в папках, скорее всего, будет разным, поэтому вы можете использовать регулярные выражения для их замены и сделать их более согласованными, поскольку это довольно удобно (я использовал [\d]{2}/[\d]{2}/[\d]{4}[\s]*[\d]{2}\:[\d]{2}\sAM[\s]*\<DIR\> а также [\d]{2}/[\d]{2}/[\d]{4}[\s]*[\d]{2}\:[\d]{2}\sPM[\s]*\<DIR\>).

6 ответов

Решение

Для инструмента, который работает в Windows (но может работать с общими ресурсами Linux samba), попробуйте BeyondCompare.

Я использую Diff merge ( http://www.sourcegear.com/diffmerge/ - у него бесплатная версия) для сравнения структур папок в Windows

Одни окна. Используйте ваш любимый инструмент сравнения файлов, сгенерированных из этого cmd.

Запустите это из папок, которые вы хотите сравнить.
c: \ somefolder> dir / s> searchResult.txt

WinMerge также делает сравнение папок и файлов и его FREEE

Опция 1)

Смонтируйте одну из машин на другой, затем используйте стандартную утилиту сравнения каталогов.

Вариант 2)

использование rsync --dry-run и использовать вывод в некотором роде.

Вариант 3)

Создайте хеши (например, sha256) файлов на каждой стороне, затем сравните списки.

WinDiff и KDiff оба, кажется, хорошо справляются с этим без необходимости перечисления dir в командной строке. Мое личное предпочтение - KDiff.

  • WinDiff показывает расширенный список всех файлов / папок. (Меня интересовали только различия, поэтому в меню "Параметры" отключили "Показать одинаковые файлы").
  • KDiff представляет расширяемый вид дерева с хорошим цветовым кодированием.
Другие вопросы по тегам