Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo on
- setlocal enabledelayedexpansion
- title Benchmark Retriever Alpha 1.3
- :: This is still being worked on. The base of it is done.
- :: Script Version: Alpha 1.3
- :: by Wesley J. B.
- :: I'll be importing the benchmark fetcher from http://pastebin.com/tvB0t4MW in the near future.
- :: 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,
- :: 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.
- :: 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.
- :: 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.
- :: Use my debug script to view the above features output. The debug script can be found here: http://pastebin.com/rUm1aWxb
- rem type testing.temp > hdsize.temp
- mkdir "%CD%\testing"
- set maindir="%CD%"
- set directory="%CD%\testing"
- CD /D "%directory%"
- ::Start HD Section
- echo Start HD Section
- echo.
- echo.
- wmic diskdrive list full /format:list >testing.temp
- wmic diskdrive get model /format:list >hdmodel.temp
- wmic diskdrive get size /format:list >hdsize.temp
- wmic diskdrive get deviceid /format:list >hddevid.temp
- setlocal EnableDelayedExpansion
- set "cmd=findstr /R /N "^^" hdmodel.temp | find /C ":""
- for /f %%a in ('!cmd!') do set number=%%a
- set /a number=%number%/4
- set /a numofhdrives=%number%
- echo Number of Hard Drives: %number%
- set number=0
- :separatehdinfo0
- type hddevid.temp>hddevid%number%.temp
- type hdmodel.temp>hdmodel%number%.temp
- type hdsize.temp>hdsize%number%.temp
- for /f "tokens=1 delims=:" %%a in ('
- findstr /n /c:"%number%" hddevid%number%.temp
- ') do set hdnumline=%%a
- echo ----------------------------------------
- echo Line in Data: %hdnumline%
- set /a hdnumline=%hdnumline%-1
- for %%x in (hddevid%number%.temp) do (more +%hdnumline% "%%x">tmp & move /y tmp "%%x")
- for %%x in (hdmodel%number%.temp) do (more +%hdnumline% "%%x">tmp & move /y tmp "%%x")
- for %%x in (hdsize%number%.temp) do (more +%hdnumline% "%%x">tmp & move /y tmp "%%x")
- set /p hddevidnum%number%=<hddevid%number%.temp
- set /p hdmodelnum%number%=<hdmodel%number%.temp
- set /p hdsizenum%number%=<hdsize%number%.temp
- echo !hddevidnum%number%!
- echo !hdmodelnum%number%!
- echo !hdsizenum%number%!
- set /a total=!hdsizenum%number%!+!hdsizenum%numbers%!
- echo Combined Hard Disk Size: %total%
- set /a number=%number%+1
- if /i %number% == %numofhdrives% goto :leave0
- goto :separatehdinfo0
- :leave0
- echo.
- echo.
- :: Start RAM Section
- echo Start of RAM Section
- echo Grabbing Number of sticks
- wmic memphysical get memorydevices >ramsticks.temp
- wmic memphysical get MaxCapacity >ramsize.temp
- wmic memphysical get tag >rammodel.temp
- for %%x in (ramsticks.temp) do (more +1 "%%x">tmp & move /y tmp "%%x")
- set "cmd=findstr /R /N "^^" ramsticks.temp | find /C ":""
- for /f %%a in ('!cmd!') do set number=%%a
- set numoframsticklines=%number%
- echo %number%
- set number=0
- :ramsticknumber
- set /p ramsticksnum%number%=<ramsticks.temp
- for %%x in (ramsticks.temp) do (more +1 "%%x">tmp & move /y tmp "%%x")
- echo !ramsticksnum%number%!
- echo %numoframsticklines%
- set /a numbers=number-1
- set /a totalsticks=!ramsticksnum%number%!+!ramsticksnum%numbers%!
- echo Total: %totalsticks%
- set /a number=%number%+1
- if /i %number% == %numoframsticklines% goto :leave1
- goto :ramsticknumber
- :leave1
- echo.
- echo.
- echo Grabbing RAM Information
- set "cmd=findstr /R /N "^^" rammodel.temp | find /C ":""
- for /f %%a in ('!cmd!') do set number=%%a
- set /a number=%number%-2
- set /a numoframem=%number%
- echo Number of Stick Arrays: %number%
- set number=0
- :separateraminfo0
- type ramsticks.temp>ramsticks%number%.temp
- type rammodel.temp>rammodel%number%.temp
- type ramsize.temp>ramsize%number%.temp
- for /f "tokens=1 delims=:" %%a in ('
- findstr /n /c:"%number%" rammodel%number%.temp
- ') do set ramnumline=%%a
- echo ----------------------------------------
- echo Line in Data: %ramnumline%
- set /a ramnumline=%ramnumline%-1
- for %%x in (ramsticks%number%.temp) do (more +%ramnumline% "%%x">tmp & move /y tmp "%%x")
- for %%x in (rammodel%number%.temp) do (more +%ramnumline% "%%x">tmp & move /y tmp "%%x")
- for %%x in (ramsize%number%.temp) do (more +%ramnumline% "%%x">tmp & move /y tmp "%%x")
- set /p ramsticksnum%number%=<ramsticks%number%.temp
- set /p rammodelnum%number%=<rammodel%number%.temp
- set /p ramsizenum%number%=<ramsize%number%.temp
- set /a numbers=number-1
- set /a ramsizenum%number%=!ramsizenum%number%!*!ramsticksnum%number%!
- set /a total=!ramsizenum%number%!+!ramsizenum%numbers%!
- echo Number of Sticks: !ramsticksnum%number%!
- echo Array Number: !rammodelnum%number%!
- echo Combined Sizes: !ramsizenum%number%!
- echo Total RAM Size: %total%
- set /a number=%number%+1
- if /i %number% == %numoframem% goto :leave2
- goto :separateraminfo0
- :leave2
- echo.
- echo.
- goto :bytes
- :deltemp
- ::Delete temp files.
- @echo off
- cls
- for /f %%A in ('dir ^| find "File(s)"') do set cnt=%%A
- echo.
- echo Temporary folders created: 1
- echo Temporary files created: %cnt%
- echo Deleting all %cnt% files . . .
- CD /D "%maindir%"
- rmdir /s /q %directory%
- echo.
- echo All %cnt% files were successfully deleted
- echo.
- echo.
- :: echo Press any key to continue . . .
- ::And done.
- goto :finish
- ::Comments
- ::This will be incorporated into the main PassMark script soon.
- ::I need to add GPU to this and then do some VBScript/Powershell
- ::math to convert the bytes to an understandable format. (below)
- ::RAM will not be able to be pulled from PassMark due
- ::to the fact that the Operating System does not
- ::provide me with the stick manufacturers or
- ::model numbers. That's all for now.
- ::For those wondering, there is a 32-bit precision limit in batch.
- ::Therefore to do an Average CPU rating I need to use something
- ::like VBScript or Powershell. 10 digits is the 32-bit limit.
- :bytes
- set number=0
- :separatebyteinfo0
- >"byteconv.ps1" echo "Get-WMIObject Win32_LogicalDisk | ForEach-Object {$_.freespace / 1GB}"
- >"by1econv.ps1" echo "Get-WMIObject Win32_PhysicalMemory | ForEach-Object {$_.capacity / 1GB}"
- :: >>"byteconv.ps1" echo $HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
- for /f "tokens=*" %%a in (byteconv.ps1) do (
- set xx=%%a
- set xx=!xx:~1,-1!
- echo.!xx! >byteconv.ps1
- )
- (
- Powershell.exe -executionpolicy remotesigned -File byteconv.ps1
- )>byteconv.txt
- for /f "tokens=*" %%a in (by1econv.ps1) do (
- set xx=%%a
- set xx=!xx:~1,-1!
- echo.!xx! >by1econv.ps1
- )
- (
- Powershell.exe -executionpolicy remotesigned -File by1econv.ps1
- )>by1econv.txt
- ::del "byteconv.ps1"
- title Benchmark Retriever Alpha 1.3
- :: HD Total
- setlocal EnableDelayedExpansion
- set "cmd=findstr /R /N "^^" byteconv.txt | find /C ":""
- for /f %%a in ('!cmd!') do set numlines=%%a
- echo %numlines%
- set number=0
- set total=0
- :lasthdloop
- set /p byteconv%number%=<byteconv.txt
- for %%x in (byteconv.txt) do (more +1 "%%x">tmp & move /y tmp "%%x")
- echo !byteconv%number%!
- if /i !byteconv%number%! == 0 goto :skiphdroundend
- for /f "tokens=1,2 delims=." %%a in ("!byteconv%number%!") do (
- set first_part=%%a
- set second_part=%%b
- )
- set second_part=%second_part:~0,1%
- echo %second_part%
- if defined second_part if %second_part% GEQ 5 (
- set /a rounded=%first_part%+1
- ) else (
- set /a rounded=%first_part%
- )
- echo %rounded%
- :skiphdroundend
- set /a totalhd+=%rounded%
- echo %totalhd%
- set /a number=%number%+1
- if /i %number% == %numlines% goto :leave3
- :: &&
- :: if /i %number% == %numoframem%
- :: &&
- :: goto :leave3
- goto :lasthdloop
- :leave3
- :: RAM Total
- set "cmd=findstr /R /N "^^" by1econv.txt | find /C ":""
- for /f %%a in ('!cmd!') do set numlines=%%a
- echo %numlines%
- set number=0
- :lastramloop
- set /p byteconv%number%=<by1econv.txt
- for %%x in (by1econv.txt) do (more +1 "%%x">tmp & move /y tmp "%%x")
- echo !byteconv%number%!
- if /i !byteconv%number%! == 0 goto :skipramroundend
- if /i !byteconv%number%! == 1 goto :skipramroundend
- if /i !byteconv%number%! == 2 goto :skipramroundend
- if /i !byteconv%number%! == 3 goto :skipramroundend
- if /i !byteconv%number%! == 4 goto :skipramroundend
- if /i !byteconv%number%! == 5 goto :skipramroundend
- if /i !byteconv%number%! == 6 goto :skipramroundend
- if /i !byteconv%number%! == 7 goto :skipramroundend
- if /i !byteconv%number%! == 8 goto :skipramroundend
- if /i !byteconv%number%! == 9 goto :skipramroundend
- for /f "tokens=1,2 delims=." %%a in ("!byteconv%number%!") do (
- set first_part=%%a
- set second_part=%%b
- )
- set second_part=%second_part:~0,1%
- echo %second_part%
- if defined second_part if %second_part% GEQ 5 (
- set /a rounded=%first_part%+1
- ) else (
- set /a rounded=%first_part%
- )
- echo %rounded% rounded
- set /a totalram+=%rounded%
- echo %totalram% total
- goto :skipramskip
- :skipramroundend
- set /a totalram+=!byteconv%number%!
- :skipramskip
- echo %totalram% total
- set /a number=%number%+1
- if /i %number% == %numlines% goto :deltemp
- goto :lastramloop
- :finish
- @echo off
- :: cls
- echo Free Disk Space across all Drives is %totalhd% Gigabytes.
- echo Random Access Memory across all Sticks is %totalram% Gigabytes.
- echo.
- title Benchmark Retriever Alpha 1.3 ^| Done
- goto :end
- goto :deltemp
- :skiphdroundbeg
- set numlines=%numlines%-1
- goto :skiphdroundend
- :skipramroundbeg
- set numlines=%numlines%-1
- goto :skipramroundend
- :end
- pause >nul
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement