Цитата vodka:
тут вот как раз весь вопрос. как лучше проверить суммы этих двух файлов тоесть мы имеем ткст файлик с контрольной суммой базы и саму базу после передачи. »
|
Внешней утилитой. Например, «Microsoft File Checksum Integrity Verifier» (
Информация о программе File Checksum Integrity Verifier и ее описание):
читать дальше »
Код:
![Выделить весь код](images/misc/selectcode.png)
@echo off
setlocal enableextensions enabledelayedexpansion
set sArcFile=%~1
set sMD5File=%~2
if defined sArcFile (
if exist "%sArcFile%" (
if defined sMD5File (
if exist "%sMD5File%" (
for /f "skip=3 tokens=1" %%i in (
'fciv.exe "%sArcFile%"'
) do set sCalcMD5=%%i
<"%sMD5File%" set /p sInMD5=
if defined sCalcMD5 (
if defined sInMD5 (
if /i "%sInMD5%" equ "%sCalcMD5%" (
echo File [%sArcFile%] sent correctly
) else (
echo Checksum not equal
)
) else (
echo Can't determine in-hash
)
) else (
echo Can't calculate hash of [%sArcFile%]
)
) else (
echo Not found checksum file [%sMD5File%]
)
) else (
call :Usage
)
) else (
echo Not found archive file [%sArcFile%]
)
) else (
call :Usage
)
endlocal
exit /b 0
:Usage
echo %~nx0 ^<Archive file^> ^<MD5 file^>
exit /b 0
Предполагается, что «fciv.exe» доступен через PATH, текстовый файл с контрольной суммой содержит одну строку с вычисленной суммой MD5.