Я бы вообще не использовал командный файл для выполнения этой задачи. BeyondCompare здесь, чтобы сделать именно это, и, похоже, делает это хорошо.
Теперь, с другой стороны, вы действительно хотите сделать это через командный файл, я бы посоветовал вам установить инструмент под названием diff tools , и вы сможете сделать что-то вроде:
diff.exe <file1> <file2> <htmlfile>
В командной строке.
надеюсь, это поможет
UPDATE
В качестве дополнения к вашему комментарию я пишу это, что также работает для меня и не использует никаких внешних инструментов. Это простой пример, но вы можете сделать его лучше.
если существует
если существует отсутствует.log del отсутствует.log
for /f "delims=" %%a in ('dir/b/a-d c:\test\1') do (
if exist "C:\test\2\%%a" (
fc "c:\test\%%a" "C:\test1\%%a" >> compare.log
) else (
echo %%a is missing >> missing.log
)
)
Пауза