эх написал сам как мог, тест взят на основе 7zip т.к он установлен на всех компьютерах в сети.
Функцию :count взял из гугла, на некоторых компьютерах не правильно срабатывает но на 80% работает и ладно
описание лога бенча 7zip обязательно нужно прочесть тут:
http://7zip.bugaco.com/7zip/MANUAL/c...V3tFsHWVtNJ6TF
(есть недокументированная фича когда тест вылетает с выводом что не смог выделить память, в отчете заметно не вооруженным глазом)
скрипт закидывается на удаленный комп через psexec или логон скрипт, дополнительная информация, после выполнения сохраняется на удаленной машине(или сервер отчетов), так что путь до нее необходимо поменять(set "remotelog

для полноты картины добавил дополнительные поля, т.к производительность очень сильно зависит от памяти и от ядер процессора.
Код:

@echo off
setlocal
set app="c:\program files\7-Zip\7z.exe"
if not exist c:\temp md c:\temp
set log="c:\temp\bech.txt"
if exist %log% del /f /q %log%
set "remotelog=\\YOUR_PC_HOSTNAME\d$\bench_%~n0.txt"
echo %computername%
call :getmodel
echo %model%
call :failed
call :benching
call :logwork
call :count
echo %computername% %model% %cpu% %ramsize% %ramusage% %spendTime% %benched% %errors% >> %remotelog%
endlocal
exit 0
:failed
if not exist %app% (
echo %computername% %model% not exist %app% >> %remotelog%
exit 1
)
exit /b
:benching
set "starttime=%time%"
echo %starttime%
%app% b 1 -md26 >%log%
set "errors=%errorlevel%"
set "endtime=%time%"
echo %endtime%
exit /b
:getmodel
for /f "tokens=1,2 skip=1 delims= " %%i in ('wmic csproduct get name') do set model=%%i %%j&exit /b
exit /b
:logwork
for /f "tokens=3 delims= " %%a in ('type %log% ^| findstr/i c:"RAM size:"') do set "ramsize=%%a MB"
for /f "tokens=3 delims= " %%a in ('type %log% ^| findstr/i "RAM size:"') do set "ramusage=%%a MB"
for /f "tokens=3 delims=:" %%a in ('type %log% ^| findstr/i "CPU hardware threads:"') do set "cpu=%%a"
for /f "tokens=2,3,4 delims= " %%a in ('type %log% ^| findstr/i "tot:"') do set "benched=%%a %%b %%c"
REM Dict Compressing | Decompressing
REM Speed Usage R/U Rating | Speed Usage R/U Rating
REM KB/s % MIPS MIPS | KB/s % MIPS MIPS
REM 22: 13684 334 3990 13312 | 177800 395 4059 16042
REM 23: 14296 346 4212 14566 | 170129 390 3989 15568
REM 24: 14646 343 4589 15747 | 170093 396 3984 15780
REM 25: 13319 354 4290 15207 | 165123 388 3998 15528
REM 26: 11319 354 3901 13793 | 162527 390 3971 15485
REM ----------------------------------------------------------------
REM Avr: 346 4197 14525 392 4000 15681
REM Tot: 369 4098 15103
exit /b
:count
SET T1=%starttime%
SET T2=%endtime%
::--------------- РАЗБИЕНИЕ МЕТОК ВРЕМЕНИ НА РАЗРЯДЫ [hh,mm,ss] -------------
for /f "tokens=1,2,3 delims=;:,." %%a in ("%T1%") do (set h1=%%a & set m1=%%b & set s1=%%c)
for /f "tokens=1,2,3 delims=;:,." %%a in ("%T2%") do (set h2=%%a & set m2=%%b & set s2=%%c)
::--------------- СЕРИАЛИЗАЦИЯ -------------
set /a time1 = (h1*3600)+(m1*60)+(s1)
set /a time2 = (h2*3600)+(m2*60)+(s2)
::--------------- ВЫЧИСЛЕНИЕ -------------
set /a time3=time2-time1
if /i %time3% lss 0 set /a time3=time2+(86400-time1)
::--------------- ДЕСЕРИАЛИЗАЦИЯ [muchSS -> hh,mm,ss] -------------
::hour
set /a H = time3/3600
set /a time3 = time3-(H*3600)
::minute
set /a M = time3/60
set /a time3=time3-(M*60)
::second
set /a S = time3
::--------------- CHECKING VALUES -------------
CALL :CheckNum %H%,H
CALL :CheckNum %M%,M
CALL :CheckNum %S%,S
set spendTime=%H%:%M%:%S%
::show result
echo ______________________________
EXIT /B
======================
:CheckNum (varIN,varOUT)
set /A temp = %1
if "%temp:~1,1%"=="" (SET %2=0%temp%)
EXIT /B