1

Я хочу сравнить две папки в Windows (Vista, XP), которые имеют большое количество огромных файлов. Если я использую Beyond Compare или другой инструмент для сравнения папок, это займет много времени, если я сделаю это вручную. Мне нужно добавить эту команду сравнения папок в командный файл.

Итак, в Windows (XP, Vista) есть какая-либо команда или какая-либо сторонняя утилита / утилита, которая работает под CMD.EXE (коммерческая или бесплатная), чтобы сравнить две папки?

4 ответа4

4

Если вы просто хотите очень быстро, да / нет, используя встроенные инструменты, используйте команду "comp"

Это старая команда, и она действительно предназначена только для отдельных файлов, но она работает хорошо - вам нужно будет запустить ее дважды, поскольку она будет сравнивать только те файлы, которые можно найти:

Это позволит сравнить все файлы в c:\temp\1 с c:\temp\2, а затем наоборот:

comp c:\temp\1 c:\temp\2
comp c:\temp\2 c:\temp\1

Если файл находится в одном месте, но не в другом, вы увидите: «Не удается открыть файл: c:\temp\2\bla.txt»

Если файл отличается, он сообщит об этом, например, «Файлы разных размеров».

Если все получится, появится сообщение "Сравнивать файлы".

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

2

Попробуйте robocopy с флагами /mir (mirror) и /L. /L говорит ему перечислить файлы без реального выполнения работы.

0
BCompare.exe @bcscript.txt  f:\file1.txt  f:\file2.txt  f:\file1and2compare.html

Я написал пакетный скрипт, в котором я изменил только имя файла 1, 2 и вывод имени файла в соответствии с моими потребностями.

Содержимое bcscript выглядит следующим образом:

text-report layout:side-by-side  options:line-numbers &
output-to:"%3" &
output-options:html-color "%1" "%2"

Для получения дополнительной информации проверьте этот пост в блоге.

0

Beyond Compare может быть выполнен из скрипта; его синтаксис командной строки является обширным. Я не думаю, что каждая отдельная функция в пользовательском интерфейсе предоставляется из командной строки, но, безусловно, все, что вам нужно, я думаю.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .