Usando uma ferramenta de comparação completa como diffmerge ou kdiff3 (ambos gratuitos), você pode facilmente verificar as diferenças, comparando os arquivos de saída do seguinte arquivo em lotes. Como é, você precisa fornecer os dois diretórios como argumentos, mas você também pode configurá-los diretamente no SET dir...
lines - por exemplo, SET dir1=c:\svn
e SET dir2=c:\hg
. O script remove o prefixo do caminho dos nomes de arquivos que, de outro modo, seriam diferentes em todas as linhas.
@ECHO OFF
SetLocal EnableDelayedExpansion
SET dir1=%1
SET dir2=%2
ECHO. 2>dir1.txt
ECHO. 2>dir2.txt
FOR /f "tokens=*" %%F IN ('DIR /s /b /o:n %dir1%') DO (
SET tmp=%%F
ECHO !tmp:%dir1%\=! >> dir1.txt
)
FOR /f "tokens=*" %%F IN ('DIR /s /b /o:n %dir2%') DO (
SET tmp=%%F
ECHO !tmp:%dir2%\=! >> dir2.txt
)
EndLocal
Em seguida, basta diferenciar os dois arquivos de saída dir1.txt
e dir2.txt
:
kdiff3 dir1.txt dir2.txt