Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата vodka:
тут вот как раз весь вопрос. как лучше проверить суммы этих двух файлов тоесть мы имеем ткст файлик с контрольной суммой базы и саму базу после передачи. »
Внешней утилитой. Например, «Microsoft File Checksum Integrity Verifier» (Информация о программе File Checksum Integrity Verifier и ее описание):
читать дальше »
Код: Выделить весь код
@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.

Отправлено: 17:00, 05-03-2012 | #2