I tested the program:
http://allan.hoiberg.dk/eng/prog_ct.htmIt works, but there are two issues: it works only at 32-bit computer and it's executable one so there is no way to modify it if necessary. I finished a script program as below and verified it. Anyone can use it, modify or spread it.
REM ::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Subroutines
REM ::::::::::::::::::::::::::::::::::::::::::::::::::::::
:cmpdir dir1 dir2
setlocal enabledelayedexpansion
pushd %2
for /f "delims=" %%A in ('cd') do set dir2=%%A
popd
pushd %1
FOR %%G in (*) DO (
echo "%%~fG" ***vs*** "%dir2%"\"%%~nxG"
if not exist "%dir2%"\"%%~nxG" (
echo "%dir2%"\"%%~nxG" disappeared
goto :cmpdir_err
)
fc /b "%%~fG" "%dir2%"\"%%~nxG" > nul
rem comp "%%~fG" "%dir2%"\"%%~nxG" < nnnn > nul 2> nul
if !errorlevel! neq 0 (
echo "%dir2%"\"%%~nxG" corrupted
goto :cmpdir_err
)
)
FOR /d %%G in (*) DO (
echo === %%~fG
if not exist "%dir2%"\"%%~nxG" (
echo "%dir2%"\"%%~nxG" disappeared
exit /b 255
)
call :cmpdir "%%~fG" "%dir2%"\"%%~nxG"
if !errorlevel! equ 255 goto :cmpdir_err
)
:cmpdir_ok
popd
exit /b 0
:cmpdir_err
popd
exit /b 255