Menggunakan alat diff lengkap menyebar atau kdiff3 (keduanya gratis) Anda dapat dengan mudah memeriksa perbedaannya dengan membandingkan file output dari file batch berikut. Karena, Anda perlu memberikan dua direktori sebagai argumen, tetapi Anda juga dapat mengaturnya langsung di SET dir...
baris - mis. SET dir1=c:\svn
dan SET dir2=c:\hg
. Script menghapus awalan jalur dari nama file yang jika tidak akan berbeda pada semua baris.
@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
Maka cukup diff kedua file output dir1.txt
dan dir2.txt
:
kdiff3 dir1.txt dir2.txt
DIR /b /s [subversion_directory] > svndir.txt & DIR /b /s [mercurial_directory] > hgdir.txt & [your_diff_tool] svndir.txt hgdir.txt