Advertisement
WesleyJB

System Benchmark Retriever Alpha 1.3

Aug 14th, 2015
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 9.85 KB | None | 0 0
  1. @echo on
  2. setlocal enabledelayedexpansion
  3. title Benchmark Retriever Alpha 1.3
  4.  
  5.  
  6. :: This is still being worked on. The base of it is done.
  7. :: Script Version: Alpha 1.3
  8. :: by Wesley J. B.
  9.  
  10.  
  11. :: I'll be importing the benchmark fetcher from http://pastebin.com/tvB0t4MW in the near future.
  12.  
  13. :: 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,
  14. :: 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.
  15. :: 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.
  16.  
  17. :: Note: The above feature is executed but is not displayed at this current time. Later on this will be displayed but as I just finished a powershell calculator for the combined space of all drives or sticks, this will have to wait.
  18. :: Use my debug script to view the above features output. The debug script can be found here: http://pastebin.com/rUm1aWxb
  19.  
  20.  
  21.  
  22.  
  23. rem type testing.temp > hdsize.temp
  24. mkdir "%CD%\testing"
  25. set maindir="%CD%"
  26. set directory="%CD%\testing"
  27. CD /D "%directory%"
  28.  
  29.  
  30. ::Start HD Section
  31. echo Start HD Section
  32. echo.
  33. echo.
  34. wmic diskdrive list full /format:list >testing.temp
  35.  
  36. wmic diskdrive get model /format:list >hdmodel.temp
  37.  
  38. wmic diskdrive get size /format:list >hdsize.temp
  39.  
  40. wmic diskdrive get deviceid /format:list >hddevid.temp
  41.  
  42.  
  43. setlocal EnableDelayedExpansion
  44. set "cmd=findstr /R /N "^^" hdmodel.temp | find /C ":""
  45.  
  46. for /f %%a in ('!cmd!') do set number=%%a
  47.  
  48. set /a number=%number%/4
  49. set /a numofhdrives=%number%
  50. echo Number of Hard Drives: %number%
  51.  
  52.  
  53. set number=0
  54. :separatehdinfo0
  55. type hddevid.temp>hddevid%number%.temp
  56. type hdmodel.temp>hdmodel%number%.temp
  57. type hdsize.temp>hdsize%number%.temp
  58. for /f "tokens=1 delims=:" %%a in ('
  59. findstr /n /c:"%number%" hddevid%number%.temp
  60. ') do set hdnumline=%%a
  61. echo ----------------------------------------
  62. echo Line in Data: %hdnumline%
  63. set /a hdnumline=%hdnumline%-1
  64.  
  65.  
  66. for %%x in (hddevid%number%.temp) do (more +%hdnumline% "%%x">tmp & move /y tmp "%%x")
  67. for %%x in (hdmodel%number%.temp) do (more +%hdnumline% "%%x">tmp & move /y tmp "%%x")
  68. for %%x in (hdsize%number%.temp) do (more +%hdnumline% "%%x">tmp & move /y tmp "%%x")
  69.  
  70.  
  71. set /p hddevidnum%number%=<hddevid%number%.temp
  72. set /p hdmodelnum%number%=<hdmodel%number%.temp
  73. set /p hdsizenum%number%=<hdsize%number%.temp
  74.  
  75. echo !hddevidnum%number%!
  76. echo !hdmodelnum%number%!
  77. echo !hdsizenum%number%!
  78.  
  79.  
  80. set /a total=!hdsizenum%number%!+!hdsizenum%numbers%!
  81.  
  82. echo Combined Hard Disk Size: %total%
  83.  
  84.  
  85. set /a number=%number%+1
  86. if /i %number% == %numofhdrives% goto :leave0
  87. goto :separatehdinfo0
  88. :leave0
  89.  
  90.  
  91.  
  92.  
  93.  
  94. echo.
  95. echo.
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103. :: Start RAM Section
  104. echo Start of RAM Section
  105. echo Grabbing Number of sticks
  106.  
  107. wmic memphysical get memorydevices >ramsticks.temp
  108. wmic memphysical get MaxCapacity >ramsize.temp
  109. wmic memphysical get tag >rammodel.temp
  110.  
  111. for %%x in (ramsticks.temp) do (more +1 "%%x">tmp & move /y tmp "%%x")
  112. set "cmd=findstr /R /N "^^" ramsticks.temp | find /C ":""
  113. for /f %%a in ('!cmd!') do set number=%%a
  114. set numoframsticklines=%number%
  115. echo %number%
  116.  
  117. set number=0
  118. :ramsticknumber
  119. set /p ramsticksnum%number%=<ramsticks.temp
  120. for %%x in (ramsticks.temp) do (more +1 "%%x">tmp & move /y tmp "%%x")
  121.  
  122. echo !ramsticksnum%number%!
  123.  
  124. echo %numoframsticklines%
  125.  
  126. set /a numbers=number-1
  127. set /a totalsticks=!ramsticksnum%number%!+!ramsticksnum%numbers%!
  128.  
  129. echo Total: %totalsticks%
  130.  
  131.  
  132. set /a number=%number%+1
  133. if /i %number% == %numoframsticklines% goto :leave1
  134. goto :ramsticknumber
  135. :leave1
  136.  
  137. echo.
  138. echo.
  139.  
  140. echo Grabbing RAM Information
  141.  
  142. set "cmd=findstr /R /N "^^" rammodel.temp | find /C ":""
  143.  
  144. for /f %%a in ('!cmd!') do set number=%%a
  145. set /a number=%number%-2
  146. set /a numoframem=%number%
  147. echo Number of Stick Arrays: %number%
  148.  
  149.  
  150. set number=0
  151. :separateraminfo0
  152. type ramsticks.temp>ramsticks%number%.temp
  153. type rammodel.temp>rammodel%number%.temp
  154. type ramsize.temp>ramsize%number%.temp
  155. for /f "tokens=1 delims=:" %%a in ('
  156. findstr /n /c:"%number%" rammodel%number%.temp
  157. ') do set ramnumline=%%a
  158. echo ----------------------------------------
  159. echo Line in Data: %ramnumline%
  160. set /a ramnumline=%ramnumline%-1
  161.  
  162. for %%x in (ramsticks%number%.temp) do (more +%ramnumline% "%%x">tmp & move /y tmp "%%x")
  163. for %%x in (rammodel%number%.temp) do (more +%ramnumline% "%%x">tmp & move /y tmp "%%x")
  164. for %%x in (ramsize%number%.temp) do (more +%ramnumline% "%%x">tmp & move /y tmp "%%x")
  165.  
  166.  
  167.  
  168. set /p ramsticksnum%number%=<ramsticks%number%.temp
  169. set /p rammodelnum%number%=<rammodel%number%.temp
  170. set /p ramsizenum%number%=<ramsize%number%.temp
  171.  
  172. set /a numbers=number-1
  173.  
  174. set /a ramsizenum%number%=!ramsizenum%number%!*!ramsticksnum%number%!
  175.  
  176. set /a total=!ramsizenum%number%!+!ramsizenum%numbers%!
  177.  
  178. echo Number of Sticks: !ramsticksnum%number%!
  179. echo Array Number: !rammodelnum%number%!
  180. echo Combined Sizes: !ramsizenum%number%!
  181. echo Total RAM Size: %total%
  182.  
  183. set /a number=%number%+1
  184. if /i %number% == %numoframem% goto :leave2
  185. goto :separateraminfo0
  186. :leave2
  187.  
  188.  
  189.  
  190.  
  191.  
  192. echo.
  193. echo.
  194.  
  195.  
  196. goto :bytes
  197.  
  198. :deltemp
  199. ::Delete temp files.
  200. @echo off
  201. cls
  202. for /f %%A in ('dir ^| find "File(s)"') do set cnt=%%A
  203. echo.
  204. echo   Temporary folders created: 1
  205. echo   Temporary files created: %cnt%
  206. echo   Deleting all %cnt% files . . .
  207.  
  208. CD /D "%maindir%"
  209. rmdir /s /q %directory%
  210.  
  211. echo.
  212. echo   All %cnt% files were successfully deleted
  213.  
  214. echo.
  215. echo.
  216. :: echo Press any key to continue . . .
  217.  
  218.  
  219. ::And done.
  220. goto :finish
  221.  
  222.  
  223.  
  224. ::Comments
  225. ::This will be incorporated into the main PassMark script soon.
  226. ::I need to add GPU to this and then do some VBScript/Powershell
  227. ::math to convert the bytes to an understandable format. (below)
  228. ::RAM will not be able to be pulled from PassMark due
  229. ::to the fact that the Operating System does not
  230. ::provide me with the stick manufacturers or
  231. ::model numbers. That's all for now.
  232.  
  233.  
  234. ::For those wondering, there is a 32-bit precision limit in batch.
  235. ::Therefore to do an Average CPU rating I need to use something
  236. ::like VBScript or Powershell. 10 digits is the 32-bit limit.
  237.  
  238.  
  239.  
  240.  
  241.  
  242. :bytes
  243.  
  244.  
  245.  
  246. set number=0
  247. :separatebyteinfo0
  248.  
  249.  >"byteconv.ps1" echo "Get-WMIObject Win32_LogicalDisk | ForEach-Object {$_.freespace / 1GB}"
  250.  
  251.  >"by1econv.ps1" echo "Get-WMIObject Win32_PhysicalMemory | ForEach-Object {$_.capacity / 1GB}"
  252. :: >>"byteconv.ps1" echo $HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
  253. for /f "tokens=*" %%a in (byteconv.ps1) do (
  254. set xx=%%a
  255. set xx=!xx:~1,-1!
  256. echo.!xx! >byteconv.ps1
  257. )
  258. (
  259. Powershell.exe -executionpolicy remotesigned -File  byteconv.ps1
  260. )>byteconv.txt
  261. for /f "tokens=*" %%a in (by1econv.ps1) do (
  262. set xx=%%a
  263. set xx=!xx:~1,-1!
  264. echo.!xx! >by1econv.ps1
  265. )
  266. (
  267. Powershell.exe -executionpolicy remotesigned -File  by1econv.ps1
  268. )>by1econv.txt
  269. ::del "byteconv.ps1"
  270. title Benchmark Retriever Alpha 1.3
  271.  
  272.  
  273.  
  274.  
  275.  
  276. :: HD Total
  277. setlocal EnableDelayedExpansion
  278. set "cmd=findstr /R /N "^^" byteconv.txt | find /C ":""
  279. for /f %%a in ('!cmd!') do set numlines=%%a
  280. echo %numlines%
  281. set number=0
  282. set total=0
  283. :lasthdloop
  284.  
  285.  
  286. set /p byteconv%number%=<byteconv.txt
  287. for %%x in (byteconv.txt) do (more +1 "%%x">tmp & move /y tmp "%%x")
  288. echo !byteconv%number%!
  289.  
  290. if /i !byteconv%number%! == 0 goto :skiphdroundend
  291.  
  292. for /f "tokens=1,2 delims=." %%a  in ("!byteconv%number%!") do (
  293.   set first_part=%%a
  294.   set second_part=%%b
  295. )
  296.  
  297. set second_part=%second_part:~0,1%
  298. echo %second_part%
  299. if defined second_part if %second_part% GEQ 5 (
  300.  
  301.     set /a rounded=%first_part%+1
  302. ) else (
  303.     set /a rounded=%first_part%
  304. )
  305.  
  306. echo %rounded%
  307.  
  308. :skiphdroundend
  309.  
  310. set /a totalhd+=%rounded%
  311. echo %totalhd%
  312.  
  313.  
  314. set /a number=%number%+1
  315. if /i %number% == %numlines% goto :leave3
  316. :: &&
  317. :: if /i %number% == %numoframem%
  318. ::  &&
  319. ::  goto :leave3
  320. goto :lasthdloop
  321. :leave3
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329. :: RAM Total
  330.  
  331. set "cmd=findstr /R /N "^^" by1econv.txt | find /C ":""
  332. for /f %%a in ('!cmd!') do set numlines=%%a
  333. echo %numlines%
  334. set number=0
  335. :lastramloop
  336.  
  337.  
  338. set /p byteconv%number%=<by1econv.txt
  339. for %%x in (by1econv.txt) do (more +1 "%%x">tmp & move /y tmp "%%x")
  340. echo !byteconv%number%!
  341.  
  342. if /i !byteconv%number%! == 0 goto :skipramroundend
  343. if /i !byteconv%number%! == 1 goto :skipramroundend
  344. if /i !byteconv%number%! == 2 goto :skipramroundend
  345. if /i !byteconv%number%! == 3 goto :skipramroundend
  346. if /i !byteconv%number%! == 4 goto :skipramroundend
  347. if /i !byteconv%number%! == 5 goto :skipramroundend
  348. if /i !byteconv%number%! == 6 goto :skipramroundend
  349. if /i !byteconv%number%! == 7 goto :skipramroundend
  350. if /i !byteconv%number%! == 8 goto :skipramroundend
  351. if /i !byteconv%number%! == 9 goto :skipramroundend
  352.  
  353. for /f "tokens=1,2 delims=." %%a  in ("!byteconv%number%!") do (
  354.   set first_part=%%a
  355.   set second_part=%%b
  356. )
  357.  
  358. set second_part=%second_part:~0,1%
  359. echo %second_part%
  360. if defined second_part if %second_part% GEQ 5 (
  361.  
  362.     set /a rounded=%first_part%+1
  363. ) else (
  364.     set /a rounded=%first_part%
  365. )
  366.  
  367. echo %rounded% rounded
  368.  
  369. set /a totalram+=%rounded%
  370. echo %totalram% total
  371. goto :skipramskip
  372. :skipramroundend
  373. set /a totalram+=!byteconv%number%!
  374. :skipramskip
  375. echo %totalram% total
  376.  
  377.  
  378.  
  379. set /a number=%number%+1
  380. if /i %number% == %numlines% goto :deltemp
  381. goto :lastramloop
  382.  
  383.  
  384. :finish
  385. @echo off
  386. :: cls
  387. echo      Free Disk Space across all Drives is %totalhd% Gigabytes.
  388. echo      Random Access Memory across all Sticks is %totalram% Gigabytes.
  389. echo.
  390. title Benchmark Retriever Alpha 1.3  ^|  Done
  391. goto :end
  392. goto :deltemp
  393.  
  394.    :skiphdroundbeg
  395.    set numlines=%numlines%-1
  396.    goto :skiphdroundend
  397.    
  398.    :skipramroundbeg
  399.    set numlines=%numlines%-1
  400.    goto :skipramroundend
  401.    
  402.    :end
  403.    
  404.    
  405.    
  406.    
  407.    
  408.    
  409.    
  410.    
  411.    
  412.    
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428. pause >nul
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement