Found online
@echo off
color 0a
title Hardware Detection
mode con cols=90
sc config winmgmt start= auto >nul 2<&1
net start winmgmt 2>1nul
setlocal ENABLEDELAYEDEXPANSION
echo Mainboard:
for /f "tokens=1,* delims==" %%a in ('wmic BASEBOARD get Manufacturer^,Product^,Version^,SerialNumber /value') do (
set /a tee+=1
if "!tee!" == "3" echo Manufacturer = %%b
if "!tee!" == "4" echo Model = %%b
if "!tee!" == "5" echo Serial Number = %%b
if "!tee!" == "6" echo Version = %%b
)
set tee=0
echo BIOS:
for /f "tokens=1,* delims==" %%a in ('wmic bios get
CurrentLanguage^,Manufacturer^,SMBIOSBIOSVersion^,SMBIOSMajorVersion^,SMBIOSMinorVersion^,ReleaseDate /value') do (
set /a tee+=1
if "!tee!" == "3" echo Current Language = %%b
if "!tee!" == "4" echo Manufacturer = %%b
if "!tee!" == "5" echo Release Date = %%b
if "!tee!" == "6" echo Version = %%b
if "!tee!" == "7" echo SMBIOSMajorVersion = %%b
if "!tee!" == "8" echo SMBIOSMinorVersion = %%b
)
set tee=0
echo.
echo CPU:
for /f "tokens=1,* delims==" %%a in ('wmic cpu get name^,ExtClock^,CpuStatus^,Description /value') do (
set /a tee+=1
if "!tee!" == "3" echo Number of CPUs = %%b
if "!tee!" == "4" echo Processor Version = %%b
if "!tee!" == "5" echo External Clock = %%b
if "!tee!" == "6" echo Name and Main Frequency = %%b
)
set tee=0
echo.
echo Monitor:
for /f "tokens=1,* delims==" %%a in ('wmic DESKTOPMONITOR get name^,ScreenWidth^,ScreenHeight^,PNPDeviceID /value') do (
set /a tee+=1
if "!tee!" == "3" echo Type = %%b
if "!tee!" == "4" echo Other Information = %%b
if "!tee!" == "5" echo Screen Height = %%b
if "!tee!" == "6" echo Screen Width = %%b
)
set tee=0
echo.
echo Hard Disk:
for /f "tokens=1,* delims==" %%a in ('wmic DISKDRIVE get model^,interfacetype^,size^,totalsectors^,partitions /value') do (
set /a tee+=1
if "!tee!" == "3" echo Interface Type = %%b
if "!tee!" == "4" echo Hard Disk Model = %%b
if "!tee!" == "5" echo Number of Partitions = %%b
if "!tee!" == "6" echo Capacity = %%b
if "!tee!" == "7" echo Total Sectors = %%b
)
echo Partition Information:
wmic LOGICALDISK where mediatype='12' get description,deviceid,filesystem,size,freespace
set tee=0
echo.
echo Network Card:
for /f "tokens=1,* delims==" %%a in ('wmic NICCONFIG where "index='1'" get ipaddress^,macaddress^,description /value') do (
set /a tee+=1
if "!tee!" == "3" echo Network Card Type = %%b
if "!tee!" == "4" echo Network Card IP = %%b
if "!tee!" == "5" echo Network Card MAC = %%b
)
set tee=0
echo.
echo Printer:
for /f "tokens=1,* delims==" %%a in ('wmic PRINTER get caption /value') do (
set /a tee+=1
if "!tee!" == "3" echo Printer Name = %%b
)
set tee=0
echo.
echo Sound Card:
for /f "tokens=1,* delims==" %%a in ('wmic SOUNDDEV get name^,deviceid /value') do (
set /a tee+=1
if "!tee!" == "3" echo Other Information = %%b
if "!tee!" == "4" echo Model = %%b
)
set tee=0
echo.
echo Memory:
for /f "tokens=1,* delims==" %%a in ('systeminfo^|find "Memory"') do (
echo %%a 4534 %%b
)
echo.
echo Graphics Card:
del /f "%TEMP%\temp.txt" 2>nul
dxdiag /t %TEMP%\temp.txt
:Graphics Card
rem It takes about 30 seconds here!
if EXIST "%TEMP%\temp.txt" (
for /f "tokens=1,2,* delims=:" %%a in ('findstr /c:" Card name:" /c:"Display Memory:" /c:"Current Mode:" "%TEMP%\temp.txt"') do (
set /a tee+=1
if !tee! == 1 echo Graphics Card Model: %%b
if !tee! == 2 echo Video Memory Size: %%b
if !tee! == 3 echo Current Setting: %%b
) ) else (
ping /n 2 127.1>nul
goto Graphics Card
)
set /p var=Do you need additional information?(y/n):
if /i %var% == y notepad "%TEMP%\temp.txt"
del /f "%TEMP%\temp.txt" 2>nul
pause