Tol!k

|
Posted: Sat Jan 09, 2010 12:27 Post subject: |
|
|
Code: | @echo off &chcp 1251 >nul
rem Копирование с проверкой контрольных сумм
rem Параметры: %F "%T"
rem Автор: Tol!k
rem Используется RHash http://rhash.anz.ru/
setlocal enableextensions
for /f "delims=" %%n in (%1) do (
call :x "%%n" "%~2"
)
move ~hashs~.tmp "%~2~hashs~.tmp"
chdir /d "%~2"
for /f "usebackq delims=" %%h in ("%~2~hashs~.tmp") do (
title Check %%h
rhash.exe -c --ansi %%h 2>nul |findstr /r /c:"ERROR, .* should be" >>~err~.txt
)
for %%e in (~err~.txt) do (if "%%~ze"=="0" del "%%~nxe" /q)
if exist ~err~.txt start ~err~.txt
del "%~2~hashs~.tmp" /q
exit /b
:x
set "l=%~1"
title Hashing "%l%"
if "%l:~-1%"=="\" (
rhash.exe -r -M --ansi "%l:~0,-1%" >>"%l:~0,-1%.md5" 2>nul
title Copying "%l%"
xcopy "%l%*" "%~2%l%" /i /s/e /k/r/h >nul
type "%l:~0,-1%.md5" >>"%~2%l:~0,-1%.md5"
echo "%l:~0,-1%.md5" >>~hashs~.tmp
) else (
rhash.exe -M --ansi "%l%" >>"%l%.md5" 2>nul
title Copying "%l%"
echo f| xcopy "%l%" "%~2%l%" /k/r/h >nul
type "%l%.md5" >>"%~2%l%.md5"
echo "%l%.md5" >>~hashs~.tmp
)
goto :eof |
Мне-то было нужно только автоматическое создание контрольных сумм для копируемых файлов, но вспомнив об этой теме, приделал проверку хэшей |
|