Advertisement
WesleyJB

System Benchmark Retriever Alpha 1.6

Sep 6th, 2015
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 23.14 KB | None | 0 0
  1. @echo on
  2. setlocal enabledelayedexpansion
  3. set version=Alpha 1.6
  4.  
  5.  
  6. :: This is still being worked on. The base of it is done.
  7. :: Script Version: Alpha 1.6
  8. :: by Wesley J. B.
  9.  
  10.  
  11. :: GPU Modifier. For seeing which GPU is more worth it.
  12. set modecustom=0
  13. if %modecustom% EQU 0 goto :modecustom
  14. set gpumodelname=GeForce+GTX+980+Ti
  15. ::set gpumodelname=GeForce+GTX+TITAN+X
  16. ::set gpumodelname=Quadro+M6000
  17. :modecustom
  18.  
  19.  
  20.  
  21. :: I should also mention that this is compatible with any amount of HD's or RAM Sticks. You could have 64 hard drives and it would look through all of them. I only have 2 to test with,
  22. :: but when messing with the information files (disabling the script from rewriting them of course), it will display all of them with their proper info in system order.
  23. :: Example: My main drive is on line 6 when it should be on line 3. Based on the DeviceID, I can put them in the correct order.
  24.  
  25.  
  26.  
  27. title Benchmark Retriever %version%
  28.  
  29. rem type testing.temp > hdsize.temp
  30. mkdir "%CD%\sbr_a16"
  31. set maindir="%CD%"
  32. set directory="%CD%\sbr_a16"
  33. CD /D "%directory%"
  34.  
  35. :hdstartcust
  36.  
  37. ::goto :gpustart
  38. ::Start HD Section
  39. echo Start HD Section
  40. echo.
  41. echo.
  42. wmic diskdrive list full /format:list >testing.temp
  43.  
  44. wmic diskdrive get model /format:list >hdmodel.temp
  45.  
  46. wmic diskdrive get size /format:list >hdsize.temp
  47.  
  48. wmic diskdrive get deviceid /format:list >hddevid.temp
  49.  
  50.  
  51. setlocal EnableDelayedExpansion
  52. set "cmd=findstr /R /N "^^" hdmodel.temp | find /C ":""
  53.  
  54. for /f %%a in ('!cmd!') do set number=%%a
  55.  
  56. set /a number=%number%/4
  57. set /a numofhdrives=%number%
  58. echo Number of Hard Drives: %number%
  59.  
  60. set number=0
  61. :separatehdinfo0
  62. set /a numbers=%number%-1
  63. type hddevid.temp>hddevid%number%.temp
  64. type hdmodel.temp>hdmodel%number%.temp
  65. type hdsize.temp>hdsize%number%.temp
  66. for /f "tokens=1 delims=:" %%a in ('
  67. findstr /n /c:"%number%" hddevid%number%.temp
  68. ') do set hdnumline=%%a
  69. echo ----------------------------------------
  70. echo Line in Data: %hdnumline%
  71. set /a hdnumline=%hdnumline%-1
  72.  
  73. for %%x in (hddevid%number%.temp) do (more +%hdnumline% "%%x">tmp & move /y tmp "%%x")
  74. for %%x in (hdmodel%number%.temp) do (more +%hdnumline% "%%x">tmp & move /y tmp "%%x")
  75. for %%x in (hdsize%number%.temp) do (more +%hdnumline% "%%x">tmp & move /y tmp "%%x")
  76.  
  77. set /p hddevidnum%number%=<hddevid%number%.temp
  78. echo !hddevidnum%number%! >hddevid%number%.temp
  79.  
  80. set /p hdmodelnum%number%=<hdmodel%number%.temp
  81. echo !hdmodelnum%number%! >hdmodel%number%.temp
  82.  
  83. set /p hdsizenum%number%=<hdsize%number%.temp
  84. echo !hdsizenum%number%! >hdsize%number%.temp
  85.  
  86. echo !hddevidnum%number%!
  87. echo !hdmodelnum%number%!
  88. echo !hdsizenum%number%!
  89.  
  90. for /f "tokens=*" %%a in (hddevid%number%.temp) do (
  91. set xx=%%a
  92. set xx=!xx:~13!
  93. echo.!xx!
  94. ) >hddevid%number%.temp
  95. set /p hddevidname%number%=<hddevid%number%.temp
  96. echo !hddevidname%number%!
  97. echo.
  98.  
  99. for /f "tokens=*" %%a in (hdmodel%number%.temp) do (
  100. set xx=%%a
  101. set xx=!xx:~6!
  102. echo.!xx!
  103. ) >hdmodel%number%.temp
  104. echo.
  105.  
  106.  
  107. for /f "tokens=*" %%a in (hdsize%number%.temp) do (
  108. set xx=%%a
  109. set xx=!xx:~5!
  110. echo.!xx!
  111. ) >hdsize%number%.temp
  112. set /p hdsizename%number%=<hdsize%number%.temp
  113. echo !hdsizename%number%!
  114. echo.
  115.  
  116. for /f "tokens=1 delims=-" %%a in (hdmodel%number%.temp) do (echo %%a > hdmodelname%number%.temp)
  117. for /f "tokens=*" %%a in (hdmodelname%number%.temp) do (
  118. set xx=%%a
  119. set xx=!xx:~0,-1!
  120. echo.!xx!
  121. ) >hdmodelname%number%.temp
  122. echo.
  123. set /p hdmodelname%number%=<hdmodelname%number%.temp
  124. echo !hdmodelname%number%!
  125.  
  126. set hdmodelname%number%=!hdmodelname%number%: =+!
  127.  
  128. set input=!hdmodelname%number%!
  129. for /l %%a in (1,1,100) do if "!input:~-1!"=="+" set input=!input:~0,-1!
  130. set hdmodelname%number%=!input!
  131. echo !hdmodelname%number%!>hdmodelname%number%.temp
  132.  
  133. echo.
  134. echo !hdmodelname%number%!
  135.  
  136.  
  137. set urlben=//www.harddrivebenchmark.net/hdd.php?hdd=!hdmodelname%number%!
  138. echo %urlben%
  139.  >"%temp%\geturl.vbs" echo url      = "http:%urlben%"
  140. >>"%temp%\geturl.vbs" echo filename = "hdrating%number%.temp"
  141. >>"%temp%\geturl.vbs" echo Set req = CreateObject("MSXML2.XMLHTTP.6.0")
  142. >>"%temp%\geturl.vbs" echo req.open "POST", url, False
  143. >>"%temp%\geturl.vbs" echo req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  144. >>"%temp%\geturl.vbs" echo req.send "field1=foo&field2=bar&..."
  145. >>"%temp%\geturl.vbs" echo Set fso = CreateObject("Scripting.FileSystemObject")
  146. >>"%temp%\geturl.vbs" echo fso.OpenTextFile(filename, 2, True).WriteLine req.responseText
  147. cscript /nologo "%temp%\geturl.vbs"
  148. del "%temp%\geturl.vbs"
  149. for %%i in (hdrating%number%.temp) do (
  150. FINDSTR /C:"font-family: Arial, Helvetica, sans-serif;font-size: 35px;  font-weight: bold; color: red;" %%i > hdbench%number%.temp
  151. )
  152. for %%i in (hdrating%number%.temp) do (
  153. FINDSTR /C:"Last Price Change" %%i > hdprice%number%.temp
  154. )
  155. for %%i in (hdrating%number%.temp) do (
  156. FINDSTR /C:"Rank" %%i > hdrank%number%.temp
  157. )
  158.  
  159. for %%i in (hdrating%number%.temp) do (
  160. FINDSTR /C:"Samples" %%i > hdsamples%number%.temp
  161. )
  162. for %%i in (hdrating%number%.temp) do (
  163. FINDSTR /C:"Rank" %%i > hdG3DPrice%number%.temp
  164. )
  165.  
  166. for /f "tokens=*" %%a in (hdbench%number%.temp) do (
  167. set xx=%%a
  168. set xx=!xx:~104,-15!
  169. echo.!xx! >hdbench%number%.temp
  170. )
  171. set /p hdbench%number%=<hdbench%number%.temp
  172.  
  173. for /f "tokens=*" %%a in (hdprice%number%.temp) do (
  174. set xx=%%a
  175. set xx=!xx:~71,-23!
  176. echo.!xx! >hdprice%number%.temp
  177. )
  178. set /p hdprice%number%=<hdprice%number%.temp
  179.  
  180. for /f "tokens=*" %%a in (hdrank%number%.temp) do (
  181. set xx=%%a
  182. set xx=!xx:~171,-6!
  183. echo.!xx! >hdrank%number%.temp
  184. )
  185. set /p hdrank%number%=<hdrank%number%.temp
  186.  
  187. for /f "tokens=*" %%a in (hdsamples%number%.temp) do (
  188. set xx=%%a
  189. set xx=!xx:~9,-8!
  190. echo.!xx! >hdsamples%number%.temp
  191. )
  192. set /p hdsamples%number%=<hdsamples%number%.temp
  193.  
  194. for /f "tokens=*" %%a in (hdG3DPrice%number%.temp) do (
  195. set xx=%%a
  196. set xx=!xx:~72,-105!
  197. echo.!xx! >hdG3DPrice%number%.temp
  198. )
  199. set /p hdG3DPrice%number%=<hdG3DPrice%number%.temp
  200. set hdG3DPrice%number%=!hdG3DPrice%number%:NA=0!
  201. echo !hdG3DPrice%number%!
  202.  
  203.  
  204.  >"sbr_math.vbs" echo     a = !hdbench%number%!
  205. >>"sbr_math.vbs" echo     b = !hdsamples%number%!
  206. >>"sbr_math.vbs" echo     c = !hdG3DPrice%number%!
  207. >>"sbr_math.vbs" echo     MathFunc = a * b / c
  208. >>"sbr_math.vbs" echo     Wscript.Echo MathFunc
  209. cscript /nologo sbr_math.vbs > hdmath%number%.temp
  210.  
  211. if !number! == 0 set /a hdmathtotal=0
  212. :: >"hdmathtotal.temp" echo 0
  213.  
  214. set /p hdmath%number%=<hdmath%number%.temp
  215. echo    !hdmath%number%!
  216.  
  217.  >"sbr_math.vbs" echo     a = !hdmathtotal!
  218. >>"sbr_math.vbs" echo     b = !hdmath%number%!
  219. >>"sbr_math.vbs" echo     MathFunc = a + b
  220. >>"sbr_math.vbs" echo     Wscript.Echo MathFunc
  221. cscript /nologo sbr_math.vbs > hdmathtotal.temp
  222. set /p hdmathtotal=<hdmathtotal.temp
  223.  
  224. echo    !hdmathtotal!
  225.  
  226. echo !hddevidnum%number%!
  227. echo !hdmodelnum%number%!
  228. echo !hdsizenum%number%!
  229.  
  230.  
  231.  
  232. set /a number=%number%+1
  233. if /i %number% == %numofhdrives% goto :leave0
  234. goto :separatehdinfo0
  235. :leave0
  236. set hderroroccured=0
  237. if %ERRORLEVEL% GTR 0 goto :hdmathtotalavgskip
  238.  >"sbr_math.vbs" echo     a = !hdmathtotal!
  239. >>"sbr_math.vbs" echo     b = !numofhdrives!
  240. >>"sbr_math.vbs" echo     MathFunc = a / b
  241. >>"sbr_math.vbs" echo     Wscript.Echo MathFunc
  242. cscript /nologo sbr_math.vbs > hdmathtotalavg.temp
  243.  
  244. set /p hdmathtotalavg=<hdmathtotalavg.txt
  245. echo    !hdmathtotalavg!
  246. :hdmathtotalavgskip
  247. if %ERRORLEVEL% GTR 0 set hderroroccured=1
  248. if %ERRORLEVEL% GTR 0 set errorsoccured=1
  249. echo %ERRORLEVEL%
  250. ver > nul  
  251. echo.
  252. echo.
  253.  
  254.  
  255. if %modecustom% EQU 1 goto :gpucustom
  256.  
  257.  
  258.  
  259.  
  260. :: Start RAM Section
  261. echo Start of RAM Section
  262. echo Grabbing Number of sticks
  263.  
  264. wmic memphysical get memorydevices >ramsticks.temp
  265. wmic memphysical get MaxCapacity >ramsize.temp
  266. wmic memphysical get tag >rammodel.temp
  267.  
  268. for %%x in (ramsticks.temp) do (more +1 "%%x">tmp & move /y tmp "%%x")
  269. set "cmd=findstr /R /N "^^" ramsticks.temp | find /C ":""
  270. for /f %%a in ('!cmd!') do set number=%%a
  271. set numoframsticklines=%number%
  272. echo %number%
  273.  
  274. set number=0
  275. :ramsticknumber
  276. set /p ramsticksnum%number%=<ramsticks.temp
  277. for %%x in (ramsticks.temp) do (more +1 "%%x">tmp & move /y tmp "%%x")
  278.  
  279. echo !ramsticksnum%number%!
  280.  
  281. echo %numoframsticklines%
  282.  
  283. set /a numbers=number-1
  284. set /a totalsticks=!ramsticksnum%number%!+!ramsticksnum%numbers%!
  285.  
  286. echo Total: %totalsticks%
  287.  
  288.  
  289. set /a number=%number%+1
  290. if /i %number% == %numoframsticklines% goto :leave1
  291. goto :ramsticknumber
  292. :leave1
  293.  
  294. echo.
  295. echo.
  296.  
  297. echo Grabbing RAM Information
  298.  
  299. set "cmd=findstr /R /N "^^" rammodel.temp | find /C ":""
  300.  
  301. for /f %%a in ('!cmd!') do set number=%%a
  302. set /a number=%number%-2
  303. set /a numoframem=%number%
  304. echo Number of Stick Arrays: %number%
  305.  
  306.  
  307. set number=0
  308. :separateraminfo0
  309. type ramsticks.temp>ramsticks%number%.temp
  310. type rammodel.temp>rammodel%number%.temp
  311. type ramsize.temp>ramsize%number%.temp
  312. for /f "tokens=1 delims=:" %%a in ('
  313. findstr /n /c:"%number%" rammodel%number%.temp
  314. ') do set ramnumline=%%a
  315. echo ----------------------------------------
  316. echo Line in Data: %ramnumline%
  317. set /a ramnumline=%ramnumline%-1
  318.  
  319. for %%x in (ramsticks%number%.temp) do (more +%ramnumline% "%%x">tmp & move /y tmp "%%x")
  320. for %%x in (rammodel%number%.temp) do (more +%ramnumline% "%%x">tmp & move /y tmp "%%x")
  321. for %%x in (ramsize%number%.temp) do (more +%ramnumline% "%%x">tmp & move /y tmp "%%x")
  322.  
  323.  
  324.  
  325. set /p ramsticksnum%number%=<ramsticks%number%.temp
  326. set /p rammodelnum%number%=<rammodel%number%.temp
  327. set /p ramsizenum%number%=<ramsize%number%.temp
  328.  
  329. set /a numbers=number-1
  330.  
  331.  
  332. echo Number of Sticks: !ramsticksnum%number%!
  333. echo Array Number: !rammodelnum%number%!
  334. echo Combined Sizes: !ramsizenum%number%!
  335. echo Total RAM Size: %total%
  336.  
  337. set /a number=%number%+1
  338. if /i %number% == %numoframem% goto :leave2
  339. goto :separateraminfo0
  340. :leave2
  341.  
  342. echo.
  343. echo.
  344. :gpustart
  345.  
  346. echo Start GPU Section
  347.  
  348. wmic path Win32_VideoController >gputesting.temp
  349.  
  350. wmic path Win32_VideoController get AdapterCompatibility /format:list >gpumanu.temp
  351.  
  352. wmic path Win32_VideoController get VideoProcessor /format:list >gpumodel.temp
  353.  
  354. wmic path Win32_VideoController get AdapterRAM /format:list >gpuram.temp
  355.  
  356. wmic path Win32_VideoController get deviceid /format:list >gpudevid.temp
  357.  
  358. setlocal EnableDelayedExpansion
  359. set "cmd=findstr /R /N "^^" gpumodel.temp | find /C ":""
  360.  
  361. for /f %%a in ('!cmd!') do set number=%%a
  362. setlocal EnableDelayedExpansion
  363. set /a number=%number%/4
  364. set /a numofgpus=%number%
  365. echo Number of GPU's: %number%
  366.  
  367. ver > nul  
  368. set number=1
  369. :separategpuinfo0
  370. set /a numbers=%number%-1
  371. type gpudevid.temp>gpudevid%number%.temp
  372. type gpumodel.temp>gpumodel%number%.temp
  373. type gpumanu.temp>gpumanu%number%.temp
  374. type gpuram.temp>gpuram%number%.temp
  375. for /f "tokens=1 delims=:" %%a in ('
  376. findstr /n /c:"%number%" gpudevid%number%.temp
  377. ') do set gpunumline=%%a
  378. echo ----------------------------------------
  379. echo Line in Data: %gpunumline%
  380. set /a gpunumline=%gpunumline%-1
  381.  
  382.  
  383. for %%x in (gpudevid%number%.temp) do (more +%gpunumline% "%%x">tmp & move /y tmp "%%x")
  384. for %%x in (gpumodel%number%.temp) do (more +%gpunumline% "%%x">tmp & move /y tmp "%%x")
  385. for %%x in (gpumanu%number%.temp) do (more +%gpunumline% "%%x">tmp & move /y tmp "%%x")
  386. for %%x in (gpuram%number%.temp) do (more +%gpunumline% "%%x">tmp & move /y tmp "%%x")
  387.  
  388. for /f "tokens=*" %%a in (gpumodel%number%.temp) do (
  389. set xx=%%a
  390. set xx=!xx:~15!
  391. echo.!xx!
  392. ) >gpumodel%number%.temp
  393. set /p gpumodelname=<gpumodel%number%.temp
  394. set gpumodelname=%gpumodelname: =+%
  395. echo %gpumodelname%
  396. echo.
  397. for /f "tokens=*" %%a in (gpudevid%number%.temp) do (
  398. set xx=%%a
  399. set xx=!xx:~9!
  400. echo.!xx!
  401. ) >gpudevid%number%.temp
  402. echo.
  403. for /f "tokens=*" %%a in (gpumanu%number%.temp) do (
  404. set xx=%%a
  405. set xx=!xx:~21!
  406. echo.!xx!
  407. ) >gpumanu%number%.temp
  408. echo.
  409. for /f "tokens=*" %%a in (gpuram%number%.temp) do (
  410. set xx=%%a
  411. set xx=!xx:~11!
  412. echo.!xx!
  413. ) >gpuram%number%.temp
  414. echo.
  415. :gpucustom
  416. if %modecustom% EQU 1 set number=1
  417. set urlben=//www.videocardbenchmark.net/gpu.php?gpu=%gpumodelname%
  418. echo %urlben%
  419.  >"%temp%\geturl.vbs" echo url      = "http:%urlben%"
  420. >>"%temp%\geturl.vbs" echo filename = "gpurating%number%.temp"
  421. >>"%temp%\geturl.vbs" echo Set req = CreateObject("MSXML2.XMLHTTP.6.0")
  422. >>"%temp%\geturl.vbs" echo req.open "POST", url, False
  423. >>"%temp%\geturl.vbs" echo req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  424. >>"%temp%\geturl.vbs" echo req.send "field1=foo&field2=bar&..."
  425. >>"%temp%\geturl.vbs" echo Set fso = CreateObject("Scripting.FileSystemObject")
  426. >>"%temp%\geturl.vbs" echo fso.OpenTextFile(filename, 2, True).WriteLine req.responseText
  427. cscript /nologo "%temp%\geturl.vbs"
  428. del "%temp%\geturl.vbs"
  429. for %%i in (gpurating%number%.temp) do (
  430. FINDSTR /C:"font-family: Arial, Helvetica, sans-serif;font-size: 35px;  font-weight: bold; color: red;" %%i > gpubench%number%.temp
  431. )
  432. for %%i in (gpurating%number%.temp) do (
  433. FINDSTR /C:"Last Price Change" %%i > gpuprice%number%.temp
  434. )
  435. for %%i in (gpurating%number%.temp) do (
  436. FINDSTR /C:"Rank" %%i > gpurank%number%.temp
  437. )
  438. for %%i in (gpurating%number%.temp) do (
  439. FINDSTR /C:"Samples" %%i > gpusamples%number%.temp
  440. )
  441. for %%i in (gpurating%number%.temp) do (
  442. FINDSTR /C:"Rank" %%i > gpuG3DPrice%number%.temp
  443. )
  444. for /f "tokens=*" %%a in (gpubench%number%.temp) do (
  445. set xx=%%a
  446. set xx=!xx:~104,-15!
  447. echo.!xx! >gpubench%number%.temp
  448. )
  449. for /f "tokens=*" %%a in (gpuprice%number%.temp) do (
  450. set xx=%%a
  451. set xx=!xx:~71,-23!
  452. echo.!xx! >gpuprice%number%.temp
  453. )
  454. for /f "tokens=*" %%a in (gpurank%number%.temp) do (
  455. set xx=%%a
  456. set xx=!xx:~168,-6!
  457. echo.!xx! >gpurank%number%.temp
  458. )
  459. for /f "tokens=*" %%a in (gpusamples%number%.temp) do (
  460. set xx=%%a
  461. set xx=!xx:~9,-8!
  462. echo.!xx! >gpusamples%number%.temp
  463. )
  464. for /f "tokens=*" %%a in (gpuG3DPrice%number%.temp) do (
  465. set xx=%%a
  466. set xx=!xx:~68,-104!
  467. echo.!xx! >gpuG3DPrice%number%.temp
  468. )
  469. set /p gpubench%number%=<gpubench%number%.temp
  470. set /p gpuprice%number%=<gpuprice%number%.temp
  471. set /p gpurank%number%=<gpurank%number%.temp
  472. set /p gpusamples%number%=<gpusamples%number%.temp
  473. set /p gpuG3DPrice%number%=<gpuG3DPrice%number%.temp
  474.  
  475.  
  476.  >"sbr_math.vbs" echo     a = !gpubench%number%!
  477. >>"sbr_math.vbs" echo     b = !gpusamples%number%!
  478. >>"sbr_math.vbs" echo     c = !gpuG3DPrice%number%!
  479. >>"sbr_math.vbs" echo     MathFunc = a * b / c
  480. >>"sbr_math.vbs" echo     Wscript.Echo MathFunc
  481. cscript /nologo sbr_math.vbs > gpumath%number%.temp
  482.  
  483. set /p gpumath%number%=<gpumath%number%.temp
  484. if !number! == 1 set /a gpumathtotal=0
  485. echo    !gpumath%number%!
  486.  
  487.  >"sbr_math.vbs" echo     a = !gpumathtotal!
  488. >>"sbr_math.vbs" echo     b = !gpumath%number%!
  489. >>"sbr_math.vbs" echo     MathFunc = a + b
  490. >>"sbr_math.vbs" echo     Wscript.Echo MathFunc
  491. cscript /nologo sbr_math.vbs > gpumathtotal.temp
  492.  
  493. set /p gpumathtotal=<gpumathtotal.temp
  494. echo    !gpumathtotal!
  495.  
  496. :: :gputotalskip
  497.  
  498. if %modecustom% EQU 1 goto :gpuexit
  499.  
  500. set /p gpudevidnum%number%=<gpudevid%number%.temp
  501. set /p gpumodelnum%number%=<gpumodel%number%.temp
  502. set /p gpumanunum%number%=<gpumanu%number%.temp
  503. set /p gpuramnum%number%=<gpuram%number%.temp
  504.  
  505. echo !gpudevidnum%number%!
  506. echo !gpumodelnum%number%!
  507. echo !gpumanunum%number%!
  508. echo !gpuramnum%number%!
  509.  
  510.  
  511. set /a numbers=%number%
  512. set /a number=%number%+1
  513. if /i %numbers% == %numofgpus% goto :gpuexit
  514. goto :separategpuinfo0
  515. :gpuexit
  516. set gpuerroroccured=0
  517. if %ERRORLEVEL% GTR 0 goto :gpumathtotalavgskip
  518. :: if %numofgpus% LEQ 1 goto :gpumathtotalavgskip
  519.  >"sbr_math.vbs" echo     a = !gpumathtotal!
  520. >>"sbr_math.vbs" echo     b = !numofgpus!
  521. >>"sbr_math.vbs" echo     MathFunc = a / b
  522. >>"sbr_math.vbs" echo     Wscript.Echo MathFunc
  523. cscript /nologo sbr_math.vbs > gpumathtotalavg.temp
  524.  
  525. set /p gpumathtotalavg=<gpumathtotalavg.temp
  526. echo    !gpumathtotalavg!
  527.  
  528. :gpumathtotalavgskip
  529. if %ERRORLEVEL% GTR 0 set gpuerroroccured=1
  530. if %ERRORLEVEL% GTR 0 set errorsoccured=1
  531. :: if %numofgpus% LEQ 1 set gpuerroroccured=1
  532. echo %ERRORLEVEL%
  533.  
  534. if %modecustom% EQU 1 goto :errors
  535.  
  536. goto :bytes
  537.  
  538.  
  539.  
  540.  
  541. :pcaverage
  542. echo off
  543. if %gpuerroroccured% GEQ 1 echo     a = !gpumath1! / 16  >"sbr_math.vbs"
  544. if %gpuerroroccured% EQU 0 echo     a = !gpumathtotalavg! / 16  >"sbr_math.vbs"
  545. if %hderroroccured% GEQ 1 echo     b = !hdmath0! / 16 >>"sbr_math.vbs"
  546. if %hderroroccured% EQU 0 echo     b = !hdmathtotalavg! / 16 >>"sbr_math.vbs"
  547. >>"sbr_math.vbs" echo     c = a + b
  548. >>"sbr_math.vbs" echo     MathFunc = c / 16
  549. >>"sbr_math.vbs" echo     Wscript.Echo MathFunc
  550.  
  551. cscript /nologo sbr_math.vbs > pcaverage.temp
  552. set /p pcaverage=<pcaverage.temp
  553. echo    !pcaverage!
  554.  
  555.  
  556. goto :errorscount
  557.  
  558.  
  559.  
  560.  
  561. :errors
  562. @echo off
  563. cls
  564. set hderrorintended=0
  565. set gpuerrorintended=0
  566. if %modecustom% EQU 1 set hderroroccured=1
  567. if %modecustom% EQU 1 set errorleave=1
  568. if %modecustom% EQU 1 goto :errorskip
  569. if %numofgpus% LEQ 1 set gpuerroroccured=1
  570. if %gpuerroroccured% EQU 1 set gpuerrorintended=1
  571. if %numofhdrives% LEQ 1 set hderroroccured=1
  572. if %hderroroccured% EQU 1 set hderrorintended=1
  573. if %modecustom% EQU 1 goto :errorskip
  574. if %errorsoccured% GTR 0 set errorleave=10
  575. :errorskip
  576. echo %errorleave%
  577. goto :pcaverage
  578.  
  579. :errorscount
  580. cls
  581. echo.
  582. echo.
  583. echo.
  584. if %gpuerroroccured% GTR 0 echo           Errors in the GPU section have occured. Using Main Device.
  585. echo.
  586. if %gpuerrorintended% GTR 0 echo             This error was thrown because you only have 1 device.
  587. echo.
  588. echo.
  589. echo.
  590. if %hderroroccured% GTR 0 echo           Errors in the HDD section have occured. Using Main Device.
  591. echo.
  592. if %hderrorintended% GTR 0 echo              This error was thrown because you only have 1 device.
  593. if %hderrorintended% GTR 0 echo                 The above line is being displayed incorrectly.
  594. if %hderrorintended% GTR 0 echo                               Just ignore it.
  595. echo.
  596. echo.
  597. echo.
  598. if %errorsoccured% GTR 0 echo                            Resuming in %errorleave% seconds.
  599. echo.
  600. echo.
  601. echo.
  602. echo.
  603. if %errorsoccured% GTR 0 PING -n 2 127.0.0.1>nul
  604. cls
  605.  
  606.  
  607. set /a errorleave=%errorleave%-1
  608. echo %errorleave%
  609. if %errorleave% == 0 goto :deltemp
  610. goto :errorscount
  611.  
  612.  
  613.  
  614.  
  615.  
  616. :deltemp
  617. ::Delete temp files.
  618. @echo off
  619. cls
  620. for /f %%A in ('dir ^| find "File(s)"') do set cnt=%%A
  621. echo.
  622. echo   Temporary folders created: 1
  623. echo   Temporary files created: %cnt%
  624. echo   Deleting all %cnt% files . . .
  625.  
  626. CD /D "%maindir%"
  627. rmdir /s /q %directory%
  628.  
  629. echo.
  630. echo   All %cnt% files were successfully deleted
  631.  
  632. echo.
  633. echo.
  634. :: echo Press any key to continue . . .
  635.  
  636.  
  637. ::And done.
  638. goto :finish
  639.  
  640.  
  641.  
  642. ::Comments
  643. ::This will be incorporated into the main PassMark script soon.
  644. ::I need to add GPU to this and then do some VBScript/Powershell
  645. ::math to convert the bytes to an understandable format. (below)
  646. ::RAM will not be able to be pulled from PassMark due
  647. ::to the fact that the Operating System does not
  648. ::provide me with the stick manufacturers or
  649. ::model numbers. That's all for now.
  650.  
  651.  
  652. ::For those wondering, there is a 32-bit precision limit in batch.
  653. ::Therefore to do an Average CPU rating I need to use something
  654. ::like VBScript or Powershell. 10 digits is the 32-bit limit.
  655.  
  656. :bytes
  657.  
  658. :: Unused code that will be used in the future.
  659. :: Currently the code gets skipped over.
  660. set number=0
  661. :separatebyteinfo0
  662.  
  663.  >"byteconv.ps1" echo "Get-WMIObject Win32_LogicalDisk | ForEach-Object {$_.freespace / 1GB}"
  664.  
  665.  >"by1econv.ps1" echo "Get-WMIObject Win32_PhysicalMemory | ForEach-Object {$_.capacity / 1GB}"
  666. :: >>"byteconv.ps1" echo $HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
  667. for /f "tokens=*" %%a in (byteconv.ps1) do (
  668. set xx=%%a
  669. set xx=!xx:~1,-1!
  670. echo.!xx! >byteconv.ps1
  671. )
  672. (
  673. Powershell.exe -executionpolicy remotesigned -File  byteconv.ps1
  674. )>byteconv.txt
  675. for /f "tokens=*" %%a in (by1econv.ps1) do (
  676. set xx=%%a
  677. set xx=!xx:~1,-1!
  678. echo.!xx! >by1econv.ps1
  679. )
  680. (
  681. Powershell.exe -executionpolicy remotesigned -File  by1econv.ps1
  682. )>by1econv.txt
  683. ::del "byteconv.ps1"
  684. title Benchmark Retriever %version%
  685.  
  686. :: HD Total
  687. setlocal EnableDelayedExpansion
  688. set "cmd=findstr /R /N "^^" byteconv.txt | find /C ":""
  689. for /f %%a in ('!cmd!') do set numlines=%%a
  690. echo %numlines%
  691. set number=0
  692. set total=0
  693. :lasthdloop
  694.  
  695. set /p byteconv%number%=<byteconv.txt
  696. for %%x in (byteconv.txt) do (more +1 "%%x">tmp & move /y tmp "%%x")
  697. echo !byteconv%number%!
  698.  
  699. if /i !byteconv%number%! == 0 goto :skiphdroundend
  700.  
  701. for /f "tokens=1,2 delims=." %%a  in ("!byteconv%number%!") do (
  702.   set first_part=%%a
  703.   set second_part=%%b
  704. )
  705.  
  706. set second_part=%second_part:~0,1%
  707. echo %second_part%
  708. if defined second_part if %second_part% GEQ 5 (
  709.  
  710.     set /a rounded=%first_part%+1
  711. ) else (
  712.     set /a rounded=%first_part%
  713. )
  714.  
  715. echo %rounded%
  716.  
  717. :skiphdroundend
  718.  
  719. set /a totalhd+=%rounded%
  720. echo %totalhd%
  721.  
  722.  
  723. set /a number=%number%+1
  724. if /i %number% == %numlines% goto :leave3
  725. :: &&
  726. :: if /i %number% == %numoframem%
  727. ::  &&
  728. ::  goto :leave3
  729. goto :lasthdloop
  730. :leave3
  731.  
  732. :: RAM Total
  733.  
  734. set "cmd=findstr /R /N "^^" by1econv.txt | find /C ":""
  735. for /f %%a in ('!cmd!') do set numlines=%%a
  736. echo %numlines%
  737. set number=0
  738. :lastramloop
  739.  
  740. set /p byteconv%number%=<by1econv.txt
  741. for %%x in (by1econv.txt) do (more +1 "%%x">tmp & move /y tmp "%%x")
  742. echo !byteconv%number%!
  743.  
  744. if /i !byteconv%number%! == 0 goto :skipramroundend
  745. if /i !byteconv%number%! == 1 goto :skipramroundend
  746. if /i !byteconv%number%! == 2 goto :skipramroundend
  747. if /i !byteconv%number%! == 3 goto :skipramroundend
  748. if /i !byteconv%number%! == 4 goto :skipramroundend
  749. if /i !byteconv%number%! == 5 goto :skipramroundend
  750. if /i !byteconv%number%! == 6 goto :skipramroundend
  751. if /i !byteconv%number%! == 7 goto :skipramroundend
  752. if /i !byteconv%number%! == 8 goto :skipramroundend
  753. if /i !byteconv%number%! == 9 goto :skipramroundend
  754.  
  755. for /f "tokens=1,2 delims=." %%a  in ("!byteconv%number%!") do (
  756.   set first_part=%%a
  757.   set second_part=%%b
  758. )
  759.  
  760. set second_part=%second_part:~0,1%
  761. echo %second_part%
  762. if defined second_part if %second_part% GEQ 5 (
  763.  
  764.     set /a rounded=%first_part%+1
  765. ) else (
  766.     set /a rounded=%first_part%
  767. )
  768.  
  769. echo %rounded% rounded
  770.  
  771. set /a totalram+=%rounded%
  772. echo %totalram% total
  773. goto :skipramskip
  774. :skipramroundend
  775. set /a totalram+=!byteconv%number%!
  776. :skipramskip
  777. echo %totalram% total
  778.  
  779.  
  780. set /a number=%number%+1
  781. if /i %number% == %numlines% goto :errors
  782. goto :lastramloop
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803. :finish
  804. @echo off
  805. :: cls
  806. echo      Free Disk Space across all Drives is %totalhd% Gigabytes.
  807. echo      Random Access Memory across all Sticks is %totalram% Gigabytes.
  808. echo.
  809. echo.
  810. if %gpuerroroccured% GTR 0 echo      Main GPU Average Rating: !gpumath1!
  811. if %gpuerroroccured% EQU 0 echo      All GPU Average Ratings: !gpumathtotalavg!
  812.  
  813. if %hderroroccured% GTR 0 echo      Main HDD Average Rating: !hdmath0!
  814. if %hderroroccured% EQU 0 echo      All HDD Average Ratings: !hdmathtotalavg!
  815. echo.
  816. echo      Your Average PC Rating: !pcaverage!
  817. echo.
  818. echo.
  819. echo      The higher the number, the more the device's together are worth.
  820. echo      Read below for more information.
  821. echo.
  822. echo      These are calculated using "DevRating * DevSamples / G3DMark|Price"
  823. echo      For each Device and then "DevTotal / DevCount" for all Devices together.
  824. echo.
  825. ::echo.
  826. title Benchmark Retriever %version%  ^|  Done
  827. goto :end
  828. goto :deltemp
  829.  
  830.    :skiphdroundbeg
  831.    set numlines=%numlines%-1
  832.    goto :skiphdroundend
  833.    
  834.    :skipramroundbeg
  835.    set numlines=%numlines%-1
  836.    goto :skipramroundend
  837.    
  838.    :end
  839.    
  840.    
  841.    
  842.    
  843.    
  844.    
  845.    
  846.    
  847.    
  848.    
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864. pause >nul
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement