Сравнение структуры папок в двух средах
Существуют ли хорошие инструменты для сравнения двух структур папок (включая файлы) между двумя средами?
т.е. сравнивая компьютер разработчика с производством
Редактировать:
Примечание о некоторых извлеченных уроках: 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
Опция 1)
Смонтируйте одну из машин на другой, затем используйте стандартную утилиту сравнения каталогов.
Вариант 2)
использование rsync --dry-run
и использовать вывод в некотором роде.
Вариант 3)
Создайте хеши (например, sha256) файлов на каждой стороне, затем сравните списки.
WinDiff и KDiff оба, кажется, хорошо справляются с этим без необходимости перечисления dir в командной строке. Мое личное предпочтение - KDiff.
- WinDiff показывает расширенный список всех файлов / папок. (Меня интересовали только различия, поэтому в меню "Параметры" отключили "Показать одинаковые файлы").
- KDiff представляет расширяемый вид дерева с хорошим цветовым кодированием.