Частичное решение с ROBOCOPY
Частичное решение (и, таким образом, для меня, к сожалению, «нерешение», хотя я изначально возлагал на него большие надежды), которое может быть или не быть достаточным для вас:
Кажется, инструмент ROBOCOPY можно (ab-) использовать для рекурсивного сравнения своего рода бедного человека ; с прискорбным ограничением, что, по-видимому, не сравнивает содержимое файла . Кажется, для сравнения размеры, даты и, необязательно, атрибуты . Волшебное заклинание для этого будет:
ROBOCOPY path1 path2 /e /l /ns /njs /njh /ndl /fp /log:result.txt /it
, где опции , что означает , кажется,
/e
- рекурсивный, включая пустые каталоги;
/l
- только печатать журнал, не изменять файлы;
/ns /njs /njh
- не печатать размеры файлов, сводку заданий, заголовок задания;
/ndl
- «не регистрировать имена папок»
- ПРИМЕЧАНИЕ: по сообщениям, это приведет к пропуску пропущенных / лишних пустых папок; если вы не используете это, они должны быть зарегистрированы, но вам придется каким-то образом удалить не отличающиеся каталоги другими способами;
/log:result.txt
- записать результаты в файл «result.txt»; Я думаю, что это может быть опущено, и результат будет показан на стандартном выходе.
Дополнительные опции:
Предупреждение: НЕ сравнивать содержимое файла
Как я уже сказал выше, это, к сожалению, не для сравнения содержимого файла. Я подтвердил это, выполнив сначала следующую команду:
mkdir d1\a\b d2\a\b & echo x > d1\a\b\f & echo y > d2\a\b\f
В большинстве случаев это должно приводить к файлам d1 \ a \ b \ f и d2 \ a \ b \ f с одинаковыми временными метками, которые можно проверить с помощью dir d1\a\b\f d2\a\b\f
. Вызов robocopy
для d1 и d2 дал мне пустой набор результатов.