Advertisement
WesleyJB

System Benchmark Retriever Alpha 1.5

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