纯批处理获取硬件信息的代码
先声明:我私下会不断的更新代码,只有大幅度更新才会上传到这里(目前核心代码基本完善)!
兼容XPWin7Win8win10
本程序特性:
1.运行环境判断,若自身被修改则自动闪退;若PE环境则提示并指引退出;若虚拟机环境则提示信息获取可能不准;若非管理员权限也会截取并提示。
2.关于硬盘、内存容量的计算方面支持字节KBMBGBTBPB
3.由于有些电脑多网卡、显卡、声卡,此程序只获取正在使用的相关信息
4.硬盘温度,使用时间,通电次数纯批处理实现!(原创代码,转载请注明出处!)
5.纯批处理实现系统密匙获取(通过注册表中的加密数据进行解密)
以下是最新版本,不用后翻。
更新内容:
1.解决了众多网友反应的关于网卡信息获取不准的问题,目前已基本完美
2.调整了代码结构,优化了效率和逻辑顺序(基本上等于重写了一遍)
3.解决了之前多种情况遇到的闪退,现在只要不改代码基本是不会闪退的
最后声明:电脑系统情况多样且复杂并非完美版本,希望大家多多测试并提供BUG截图以后会根据大家的测试结果不断更新。
本人QQ:540044977若要获取实时最新版可以加好友索要,欢迎志同道合的朋友前来交流。
以下是代码:
@echooff
modeconcols=82lines=25
SetlocalEnableDelayedExpansion
call:Inspect
title获取硬件信息-正在获取相关信息,请稍等...
echo!Tit!
echo.............................................................
echo.
DxDiag/t%Temp%\Dxdiag.dll
Pingwww.baidu.com>nul
if%errorlevel%==0setNetWorking=已联网
if%errorlevel%==1setNetWorking=未联网
:DxDiag
ifexist"%Temp%\Dxdiag.dll"(
for/f"tokens=2delims=:"%%iin('Findstr/IC:"OperatingSystem:"%Temp%\Dxdiag.dll')do(
for/f"delims=("%%jin("%%i")dosetOS=%%j
)
)else(
Goto:DxDiag
)
title获取硬件信息-%OS%
for/f"tokens=2delims=:"%%iin('Findstr/IC:"Processor:"%Temp%\Dxdiag.dll')dosetCPU=%%i
for/l%%iin(256-10)doif"!CPU:~%%i,1!"==""setCPU.Len=%%i
if%CPU.Len%gtr67setCPU=%CPU:~0,60%...
echo.CPU.......%CPU%
echo.
for/f"skip=2tokens=2delims=="%%iin('WmicBaseBoardgetManufacturer^,Product^,SerialNumber^,Version/value2^>nul')do(
set/aRow+=1
if!Row!==1setManufacturer=%%i
if!Row!==2setProduct=%%i
if!Row!==3setSerialNumber=%%i
if!Row!==4setVersion=%%i
)
setRow=0
for/f"skip=2tokens=2delims=="%%iin('WmicbiosgetInstallableLanguages^,ReleaseDate^,SMBIOSBIOSVersion/value2^>nul')do(
set/aRow+=1
if!Row!==1setInstallableLanguages=%%i
if!Row!==2setReleaseDate=%%i
if!Row!==3setSMBIOSBIOSVersion=%%i
)
setRow=0
for/f"skip=2tokens=2delims=="%%iin('WmicMemphysicalGetMaxCapacity^,MemoryDevices/Value2^>nul')do(
set/aRow+=1
if!Row!==1setMaxCapacity=%%i
if!Row!==2setMemoryDevices=%%i
)
for/f"skip=2tokens=2delims=="%%iin('WmicCsproductgetUuid/Value2^>nul')dosetUuid=%%i
if"%Version%"==""setVersion=无
if"%SerialNumber%"==""setSerialNumber=无
set/aMaxCapacity=!MaxCapacity!/1048576
setMaxCapacity=!MaxCapacity!GB
setMemoryDevices=!MemoryDevices!个
setInstallableLanguages=!InstallableLanguages!国语言
setReleaseDate=%ReleaseDate:~0,4%年%ReleaseDate:~4,2%月%ReleaseDate:~6,2%日
if"%Uuid%"=="00000000-0000-0000-0000-000000000000"setUuid=主板维修过
if/i"%Manufacturer:~0,3%"=="MSI"setManufacturer=微星
if/i"%Manufacturer:~0,4%"=="ASUS"setManufacturer=华硕
if/i"%Manufacturer:~0,4%"=="TIMI"setManufacturer=小米
if/i"%Manufacturer:~0,4%"=="SOYO"setManufacturer=梅捷
if/i"%Manufacturer:~0,4%"=="ONDA"setManufacturer=昂达
if/i"%Manufacturer:~0,5%"=="SUPOX"setManufacturer=磐正
if/i"%Manufacturer:~0,5%"=="PCASL"setManufacturer=翔升
if/i"%Manufacturer:~0,5%"=="INTEL"setManufacturer=英特尔
if/i"%Manufacturer:~0,6%"=="MAXSUN"setManufacturer=铭瑄
if/i"%Manufacturer:~0,6%"=="LENOVO"setManufacturer=联想
if/i"%Manufacturer:~0,6%"=="ASROCK"setManufacturer=华擎
if/i"%Manufacturer:~0,6%"=="GALAXY"setManufacturer=影驰
if/i"%Manufacturer:~0,7%"=="TOSHIBA"setManufacturer=东芝
if/i"%Manufacturer:~0,7%"=="BIOSTAR"setManufacturer=映泰
if/i"%Manufacturer:~0,8%"=="GIGABYTE"setManufacturer=技嘉
if/i"%Manufacturer:~0,8%"=="COLORFUL"setManufacturer=七彩虹
if/i"%Manufacturer:~0,8%"=="SAPPHIRE"setManufacturer=蓝宝石
if/i"%Manufacturer:~0,8%"=="MECHREVO"setManufacturer=机械格命
if/i"%Manufacturer:~0,10%"=="SUPERMICRO"setManufacturer=超微
echo.主板.......%Manufacturer%%Product%
echo.
for/f"tokens=2delims=="%%iin('WmicPathWin32_PhysicalMemoryGetBankLabel/value2^>nul')doset/aMemoryQuantity+=1
setMemorySize=0
for/f"tokens=3delims=:"%%iin('Find/c/v""%0')doset/aH.Size=%%i
for/f"tokens=2delims=="%%iin('WmicPathWin32_PhysicalMemoryGetCapacity/value2^>nul')do(
setCapacity=%%i
call:Addition!Capacity!!MemorySize!MemorySize
)
call:GetSize!MemorySize!MemorySize
ifnot!H.Size!==1069Goto:Eof
if"!MemorySize:~-5,3!"==".00"setMemorySize=!MemorySize:~0,-5!!MemorySize:~-2!
if"!MemorySize!"=="EB"Goto:Eof
echo.内存.......%MemoryQuantity%条%MemorySize%
echo.
for/f"tokens=2delims=="%%iin('WmicDiskDriveGetModel/Value^|Find/i/v"USB"')do(
set/aHdQuantity+=1
if!HdQuantity!==1setFirstDisk=%%i
)
echo.硬盘.......%HdQuantity%块%FirstDisk%(主)
echo.
setRow=0
for/f"skip=2tokens=2delims=="%%iin('WmicPathWin32_VideoControllerGetName^,AdapterRam^,DriverDate^,DriverVersion^,VideoProcessor^,MaxRefreshRate^,MinRefreshRate^,VideoProcessor^,CurrentBitsPerPixel^,CurrentRefreshRate^,CurrentHorizontalResolution^,CurrentVerticalResolution/Value2^>nul')do(
set/aRow+=1
if!Row!==1setAdapterRAM=%%i
if!Row!==2setCurrentBitsPerPixel=%%i
if!Row!==3setCurrentHorizontalResolution=%%i
if!Row!==4setCurrentRefreshRate=%%i
if!Row!==5setCurrentVerticalResolution=%%i
if!Row!==6setDriverDate=%%i
if!Row!==7setDriverVersion=%%i
if!Row!==8setMaxRefreshRate=%%i
if!Row!==9setMinRefreshRate=%%i
if!Row!==10setVideoName=%%i
if!Row!==11setVideoProcessor=%%i
)
if"%CurrentBitsPerPixel%"==""(
setRow=0
for/f"skip=15tokens=2delims=="%%iin('WmicPathWin32_VideoControllerGetName^,AdapterRam^,DriverDate^,DriverVersion^,VideoProcessor^,MaxRefreshRate^,MinRefreshRate^,VideoProcessor^,CurrentBitsPerPixel^,CurrentRefreshRate^,CurrentHorizontalResolution^,CurrentVerticalResolution/Value2^>nul')do(
set/aRow+=1
if!Row!==1setAdapterRAM=%%i
if!Row!==2setCurrentBitsPerPixel=%%i
if!Row!==3setCurrentHorizontalResolution=%%i
if!Row!==4setCurrentRefreshRate=%%i
if!Row!==5setCurrentVerticalResolution=%%i
if!Row!==6setDriverDate=%%i
if!Row!==7setDriverVersion=%%i
if!Row!==8setMaxRefreshRate=%%i
if!Row!==9setMinRefreshRate=%%i
if!Row!==10setVideoName=%%i
if!Row!==11setVideoProcessor=%%i
)
)
if"!AdapterRAM:~0,1!"=="-"setAdapterRAM=%AdapterRAM:~1%
call:GetSize!AdapterRAM!AdapterRAM
if"!AdapterRam:~-5,3!"==".00"setAdapterRam=!AdapterRam:~0,-5!!AdapterRam:~-2!
setDriverDate=%DriverDate:~0,4%年%DriverDate:~4,2%月%DriverDate:~6,2%日
set"Resolution=%CurrentHorizontalResolution%x%CurrentVerticalResolution%(%CurrentBitsPerPixel%bit)(%CurrentRefreshRate%Hz)"
echo.显卡.......%VideoName%%AdapterRAM%
echo.
setRow=0
for/f"skip=2tokens=2delims=="%%iin('WmicDesktopMonitorGetPNPDeviceID^,PixelsPerXLogicalInch/Value2^>nul')do(
set/aRow+=1
if!Row!==1setPixelsPerXLogicalInch=%%i
if!Row!==2setPNPDeviceID=%%i
)
for/f"delims=\tokens=2"%%iin("!PNPDeviceID!")dosetDisplayName=%%i
if"%DisplayName%"==""(echo.屏幕.......!Resolution!)else(echo.屏幕.......!DisplayName!!Resolution!)
echo.
setRow=0
for/f"tokens=2delims=="%%iin('WmicPathWin32_CDRomDriveGetName^,MediaLoaded/Value2^>nul')do(
set/aRow+=1
if!Row!==1setMediaLoaded=%%i
if!Row!==2setCD-ROM.Name=%%i
)
if"%CD-ROM.Name%"==""(setCD-ROM.Name=无)else(if/i"%MediaLoaded%"=="TRUE"set"MediaLoaded=(有盘)"
if/i"%MediaLoaded%"=="FALSE"set"MediaLoaded=(空)")
echo.光驱.......%CD-ROM.Name%%MediaLoaded%
echo.
setRow=0
for/f"tokens=2delims=:"%%iin('Findstr/IC:"Description:"%Temp%\Dxdiag.dll')do(
set/aRow+=1
if!Row!==1setDescription=%%i
)
echo声卡.......%Description%(输出)
echo.
setRow=0
for/f"skip=2tokens=2delims=="%%iin('WmicPathWin32_NetworkAdapterConfigurationWHERE"IPEnabled='TRUE'"getIPAddress^,IPSubnet^,MACAddress^,DefaultIPGateway^,Caption/value2^>nul')do(
set/aRow+=1
if!Row!==1setNetName=%%i
if!Row!==2setDefaultIPGateway=%%i
if!Row!==3setIP=%%i
if!Row!==4setIPSubnet=%%i
if!Row!==5setMACAddress=%%i
)
if"%DefaultIPGateway%"==""(
setRow=0
for/f"skip=2tokens=2delims=="%%iin('WmicPathWin32_NetworkAdapterConfigurationWHERE"DHCPEnabled='TRUE'"getIPAddress^,IPSubnet^,MACAddress^,DefaultIPGateway^,Caption/value2^>nul')do(
set/aRow+=1
if!Row!==1setNetName=%%i
if!Row!==2setDefaultIPGateway=%%i
if!Row!==3setIP=%%i
if!Row!==4setIPSubnet=%%i
if!Row!==5setMACAddress=%%i
)
)
if"%DefaultIPGateway%"==""(
setRow=0
for/f"skip=9tokens=2delims=="%%iin('WmicPathWin32_NetworkAdapterConfigurationWHERE"DHCPEnabled='TRUE'"getIPAddress^,IPSubnet^,MACAddress^,DefaultIPGateway^,Caption/value2^>nul')do(
set/aRow+=1
if!Row!==1setNetName=%%i
if!Row!==2setDefaultIPGateway=%%i
if!Row!==3setIP=%%i
if!Row!==4setIPSubnet=%%i
if!Row!==5setMACAddress=%%i
)
)
if"%DefaultIPGateway%"==""(
setRow=0
for/f"skip=16tokens=2delims=="%%iin('WmicPathWin32_NetworkAdapterConfigurationWHERE"DHCPEnabled='TRUE'"getIPAddress^,IPSubnet^,MACAddress^,DefaultIPGateway^,Caption/value2^>nul')do(
set/aRow+=1
if!Row!==1setNetName=%%i
if!Row!==2setDefaultIPGateway=%%i
if!Row!==3setIP=%%i
if!Row!==4setIPSubnet=%%i
if!Row!==5setMACAddress=%%i
)
)
if"%DefaultIPGateway%"==""(
setIP=未联网
setIPSubnet=未联网
setDefaultIPGateway=未联网
)
if"%MACAddress%"==""setMACAddress=网卡已被禁用
for/f"tokens=2delims=]"%%iin("!NetName!")dosetNetName=%%i
if"!NetName:~0,1!"==""setNetName=!NetName:~1!
for/f"delims=,"%%iin("!IP!")dosetIP=%%i
for/f"delims=,"%%iin("!IPSubnet!")dosetIPSubnet=%%i
setIP=!IP:"=!
setIP=!IP:{=!
setIP=!IP:}=!
setIPSubnet=!IPSubnet:"=!
setIPSubnet=!IPSubnet:{=!
setIPSubnet=!IPSubnet:}=!
setDefaultIPGateway=!DefaultIPGateway:{"=!
setDefaultIPGateway=!DefaultIPGateway:"}=!
echo网卡.......%NetName%(%NetWorking%)
echo.
echo.
set/p540044977=若要生成详细的电脑配置信息文件请直接回车:
Title获取硬件信息-正在生成详细信息,请稍等...
if"!Titl!"Neq"检测环境处于虚拟机中,以下信息可能不准:"Color08
setTim.1=%Time%
setFile=%ComputerName%.Txt
Regadd"HKCU\Software\Microsoft\Notepad"/v"lfFaceName"/d"fixedsys"/f>nul2>nul
echo%Titl%>!File!
echo......................................................................>>!File!
echo.>>!File!
echo.关于电脑综述信息如下:>>!File!
for/f"tokens=3"%%iin('regquery"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion"/v"DigitalProductId"2^>nul')dosetDigitalProductId=%%i
if"!DigitalProductId!"==""(
setKey=未获取
goto:Skip)
setRow=-1
for/l%%iin(0,2,327)do(
set/aRow+=1
setF=!DigitalProductId:~%%i,2!
set/aId!Row!=0X!F:~0,1!*16+0X!F:~1,1!
)
set/aWin10=!Id66!/6^&1
set/aId66=(!Id66!^&0XF7)^|((!Win10!^&2)*4)
setMaps=BCDFGHJKMPQRTVWXY2346789
for/l%%iin(24-10)do(
setCurrent=0
for/l%%jin(14-10)do(
set/aCurrent*=256
set/aJ=%%j+52
set/aCurrent=Id!J!+!Current!
set/aId!J!=!Current!/24
set/aCurrent=!Current!%%24
)
for/l%%kin(0,1,24)do(
if!Current!==%%k(
setKeyTemp=!Maps:~%%k,1!!KeyTemp!
)
)
setLast=!Current!
)
if!Win10!==1(
for/l%%iin(0,1,24)dosetkeypart1=!KeyTemp:~1,%%i!
setInsert=N
for/l%%iin(1,1,24)do(
SetL=!L!!KeyTemp:~%%i,1!
if%%i==!Last!SetL=!L!!Insert!
)
SetKeyTemp=!L!
if!Last!==0SetKeyTemp=!Insert!!KeyTemp!
)
SetKey=!KeyTemp:~0,5!-!KeyTemp:~5,5!-!KeyTemp:~10,5!-!KeyTemp:~15,5!-!KeyTemp:~20,5!
:Skip
for/f"tokens=2delims=:"%%iin('Findstr/IC:"SystemManufacturer:"%Temp%\Dxdiag.dll')dosetPCbrand=%%i
if/i"%PCbrand:~1,2%"=="HP"setPCbrand=惠普
if/i"%PCbrand:~1,3%"=="MSI"setPCbrand=微星
if/i"%PCbrand:~1,4%"=="ACER"setPCbrand=宏碁
if/i"%PCbrand:~1,4%"=="TIMI"setPCbrand=小米
if/i"%PCbrand:~1,4%"=="DELL"setPCbrand=戴尔
if/i"%PCbrand:~1,4%"=="ASUS"setPCbrand=华硕
if/i"%PCbrand:~1,5%"=="HASEE"setPCbrand=神州
if/i"%PCbrand:~1,5%"=="HAIER"setPCbrand=海尔
if/i"%PCbrand:~1,6%"=="LENOVO"setPCbrand=联想
if/i"%PCbrand:~1,7%"=="SAMSUNG"setPCbrand=三星
if/i"%PCbrand:~1,7%"=="TOSHIBA"setPCbrand=东芝
if/i"%PCbrand:~1,8%"=="GIGABYTE"setPCbrand=技嘉
if/i"%PCbrand:~1,8%"=="MECHREVO"setPCbrand=机械格命
for/f"tokens=2delims=:"%%jin('Findstr/IC:"SystemModel:"%Temp%\Dxdiag.dll')do(
setPCModel=%%j
setPCModel=!PCModel:~1!
)
for/f"tokens=2delims=={}"%%iin('WmicPATHWin32_SystemEnclosuregetChassisTypes/value2^>nul')do(
for%%jin(3,4,6,7,15)doif%%j==%%isetPCtype=台式机
for%%jin(8,9,10,14)doif%%j==%%isetPCtype=笔记本
if%%i==13setPCtype=一体机
)
if"!PCtype!"==""setPCtype=未知
if"!PCtype!"=="台式机"setPCbrand=%Manufacturer%
if"!PCtype!"=="台式机"setPCModel=%Product%
if"!Titl!"=="检测环境处于虚拟机中,以下信息可能不准:"setPCbrand=虚拟机&setPCModel=虚拟机
echo.>>!File!
echo.名称...................:%ComputerName%>>!File!
echo.>>!File!
echo.品牌...................:%PCbrand%>>!File!
echo.>>!File!
echo.型号...................:%PCModel%>>!File!
echo.>>!File!
echo.类型...................:%PCtype%>>!File!
echo.>>!File!
for/f"tokens=2delims=="%%iin('WmicOSGetInstallDate/Value2^>nul')dosetInstallDate=%%i
setInstallDate=!InstallDate:~0,4!年!InstallDate:~4,2!月!InstallDate:~6,2!日!InstallDate:~8,2!时!InstallDate:~10,2!分!InstallDate:~12,2!秒
echo.当前用户...............:!UserName!>>!File!
echo.>>!File!
echo.系统版本...............:!OS!>>!File!
echo.>>!File!
for/f"tokens=2delims=="%%iin('wmicosgetVersion/value')dosetOSVersion=%%i
echo.系统版本号.............:!OSVersion!>>!File!
echo.>>!File!
for/f"tokens=2delims=="%%iin('wmicosgetSerialNumber/value')dosetSerialNumber=%%i
echo.系统序列号.............:!SerialNumber!>>!File!
echo.>>!File!
echo.系统密匙...............:!Key!>>!File!
echo.>>!File!
for/f"tokens=2delims=:"%%iin('Findstr/IC:"DirectXVersion:"%Temp%\Dxdiag.dll')dosetDirectX=%%i
echo.DirectX版本...........:%DirectX%>>!File!
echo.>>!File!
for/f"tokens=2delims=="%%iin('WmicOSGetLastBootUpTime/Value2^>nul')do(
setL=%%i
setLastBootUpTime=!L:~0,4!年!L:~4,2!月!L:~6,2!日!L:~8,2!时!L:~10,2!分!L:~12,2!秒
)
echo.开机时间...............:%LastBootUpTime%>>!File!
echo.>>!File!
echo.系统初始安装日期.......:%InstallDate%>>!File!
echo.>>!File!
echo.>>!File!
echo.关于CPU的详细信息如下:>>!File!
echo.>>!File!
echo.名称...........:%CPU%>>!File!
echo.>>!File!
setRow=0
for/f"skip=2tokens=2delims=="%%iin('WmicCPUgetName^,AddressWidth^,CurrentVoltage^,ExtClock^,Family^,MaxClockSpeed^,ProcessorId^,Revision^,SocketDesignation^,Stepping/value2^>nul')do(
set/aRow+=1
if!Row!==1setAddressWidth=%%i
if!Row!==2setCurrentVoltage=%%i
if!Row!==3setExtClock=%%i
if!Row!==4setFamily=%%i
if!Row!==5setMaxClockSpeed=%%i
if!Row!==6setCpuName=%%i
if!Row!==7setProcessorId=%%i
if!Row!==8setRevision=%%i
if!Row!==9setSocketDesignation=%%i
if!Row!==10setStepping=%%i
)
setCurrentVoltage=%CurrentVoltage:~0,1%.%CurrentVoltage:~1%
setNumberOfProcessors=-1
for/f"tokens=2delims=="%%iin('WmicpathWin32_PerfFormattedData_PerfOS_ProcessorgetPercentIdleTime/value2^>nul')do(
set/aNumberOfProcessors+=1
setCpuOccupy=%%i
)
if"%NumberOfProcessors%"=="-1"for/f"delims==tokens=2"%%iin('WmiccpuGetNumberOfLogicalProcessors/Value2^>nul')dosetNumberOfProcessors=%%i
if"%NumberOfProcessors%"=="-1"setNumberOfProcessors=未获取
setRow=0
for/f"Skip=1"%%iin('WmicPathWin32_CacheMemoryGetMaxCacheSize2^>nul')do(
set/aRow+=1
if!Row!==1setOne=%%i
if!Row!==2setTwo=%%i
if!Row!==3setThree=%%i
)
set/aCpuOccupy=100-%CpuOccupy%
if"%CpuOccupy%"==""setCpuOccupy=.
if"%CpuOccupy%"==""setCpuOccupy=.
if"%One%"==""setOne=0
if"%Two%"==""setTwo=0
if"%Three%"==""setThree=0
if"%One%"==""setOne=0
if"%Two%"==""setTwo=0
if"%Three%"==""setThree=0
if"%Family%"==""setFamily=.
if"%Family%"==""setFamily=.
if"%Revision%"==""setRevision=.
if"%Revision%"==""setRevision=.
if"%Stepping%"==""setStepping=.
if"%Stepping%"==""setStepping=.
if"%AddressWidth%"==""setAddressWidth=.
if"%AddressWidth%"==""setAddressWidth=.
if"%CurrentVoltage%"==""setCurrentVoltage=.
if"%CurrentVoltage%"==""setCurrentVoltage=.
call:Space!CpuOccupy!12Blank.1
call:Space!CurrentVoltage!11Blank.2
call:Space!Stepping!8Blank.3
call:Space!AddressWidth!12Blank.4
call:Space!Family!8Blank.5
echo.核心...........:%NumberOfProcessors%核心>>!File!
echo.>>!File!
echo.主频...........:%MaxClockSpeed%Mhz>>!File!
echo.>>!File!
echo.外频...........:%ExtClock%Mhz>>!File!
echo.>>!File!
if"!NumberOfProcessors!"neq"未获取"(
set/aScore=!NumberOfProcessors!*!MaxClockSpeed!
echo.性能评分.......:!Score!分>>!File!
echo.>>!File!
)
echo.一级缓存.......:%One%Kb>>!File!
echo.>>!File!
echo.二级缓存.......:%Two%Kb>>!File!
echo.>>!File!
echo.三级缓存.......:%Three%Kb>>!File!
echo.>>!File!
echo.插槽...........:%SocketDesignation%>>!File!
echo.>>!File!
echo.编号...........:%ProcessorId%>>!File!
echo.>>!File!
echo.>>!File!
echo.已用(%)电压(V)步进位宽(位)家族修订版号>>!File!
echo.>>!File!
echo.%CpuOccupy%%Blank.1%%CurrentVoltage%%Blank.2%%Stepping%%Blank.3%%AddressWidth%%Blank.4%%Family%%Blank.5%%Revision%>>!File!
echo.>>!File!
echo.>>!File!
echo.关于主板的详细信息如下:>>!File!
echo.>>!File!
echo.品牌...........:%Manufacturer%>>!File!
echo.>>!File!
echo.型号...........:%Product%>>!File!
echo.>>!File!
echo.版本...........:%Version%>>!File!
echo.>>!File!
echo.序列号.........:%SerialNumber%>>!File!
echo.>>!File!
echo.内存插槽.......:%MemoryDevices%>>!File!
echo.>>!File!
echo.内存支持.......:%MaxCapacity%>>!File!
echo.>>!File!
echo.出厂日期.......:%ReleaseDate%>>!File!
echo.>>!File!
echo.CPU插槽.......:%SocketDesignation%>>!File!
echo.>>!File!
echo.BIOS版本......:%SmbiosbioSversion%>>!File!
echo.>>!File!
echo.BIOS语言......:%InstallableLanguages%>>!File!
echo.>>!File!
echo.唯一标识.......:%Uuid%>>!File!
echo.>>!File!
echo.>>!File!
echo.关于内存的详细信息如下:>>!File!
echo.>>!File!
echo.数量...........:%MemoryQuantity%条>>!File!
echo.>>!File!
echo.总容量.........:%MemorySize%>>!File!
echo.>>!File!
echo.>>!File!
echo.内存容量频率插槽>>!File!
echo.>>!File!
setRow=0
for/f"skip=1delims="%%iin('WmicPathWin32_PhysicalMemoryGetDeviceLocator^,Capacity^,Speed')do(
set/aRow+=1
seti=%%i
for/f"tokens=1,2,3"%%jin("!i!")do(
setMemorySize=%%j
setDeviceLocator=%%k
setSpeed=%%l
)
if"!Speed!"==""setSpeed=NotGet
call:GetSize!MemorySize!MS
call::Space!MS!13Blank.1
call::Space!Speed!10Blank.2
ifnot"!i:~1,1!"==""echo.!Row!!MS!!Blank.1!!Speed!!Blank.2!!DeviceLocator!>>!File!
)
echo.>>!File!
echo.>>!File!
setRow=0
for/f"skip=2tokens=2delims=="%%iin('WmicpathWin32_PerfFormattedData_PerfOS_MemorygetAvailableBytes^,CommittedBytes^,CommitLimit/value2^>nul')do(
set/aRow+=1
if!Row!==1setAvailableBytes=%%i
if!Row!==2setCommitLimit=%%i
if!Row!==3setCommittedBytes=%%i
)
if"!CommitLimit!"neq""call:GetSize!CommitLimit!CommitLimit
if"!AvailableBytes!"neq""call:GetSize!AvailableBytes!Available
if"!CommittedBytes!"neq""call:GetSize!CommittedBytes!Committed
if"!Available!"neq""(
echo.已用内存:%Committed%可用内存:%Available%提交限制:%CommitLimit%>>!File!
echo.>>!File!
echo.>>!File!
)
echo.关于硬盘的详细信息如下:>>!File!
echo.>>!File!
echo.数量...........:%HdQuantity%块>>!File!
echo.>>!File!
setHdSize=0
for/f"skip=1delims="%%iin('WmicDiskDriveGetSize')do(
setVar.i=%%i
call:Addition!Var.i!!HdSize!HdSize
)
call:GetSize!HdSize!HdSize
if"!HdSize:~-5,3!"==".00"setHdSize=!HdSize:~0,-5!!HdSize:~-2!
echo.实际容量..............:!HdSize!>>!File!
echo.>>!File!
if"!Tit!"=="检测环境处于虚拟机中,以下信息可能不准:"Goto:Go
for/f"tokens=2delims=="%%iin('Wmic/NameSpace:\\root\wmiPathMSStorageDriver_ATAPISmartDatagetVendorSpecific/Value2^>Nul')do(
set/aDiskNuber+=1
setSmart=%%i
setSmart=!Smart:,=!
ifnot!H.Size!==1069Goto:Eof
for/l%%jin(312362)do(
setNu.1=0
for%%kin(!Smart!)do(
set/aNu.1+=1
if!Nu.1!==%%j(
if%%k==9(set/aNu.2=!Nu.1!+7
call:Calc!Nu.1!!Nu.2!PowerOnTimeCount)
if%%k==12(set/aNu.2=!Nu.1!+7
call:Calc!Nu.1!!Nu.2!StartStopCount)
set/aNu.3=0,Nu.4=0
if%%k==190(set/aNu.3=!Nu.1!+5
for%%lin(!Smart!)do(
set/aNu.4+=1
if!Nu.4!==!Nu.3!setTemperature=%%l
)
)else(
if%%k==194(set/aNu.3=!Nu.1!+5
for%%lin(!Smart!)do(
set/aNu.4+=1
if!Nu.4!==!Nu.3!setTemperature=%%l
)
)
)
)
)
)
set/aDay=!PowerOnTimeCount!/24
echo.>>!File!
echo硬盘!DiskNuber!:>>!File!
echo.>>!File!
echo当前硬盘温度.....................:!Temperature!℃>>!File!
echo.>>!File!
echo截至目前硬盘已启停.....................:!StartStopCount!次>>!File!
echo.>>!File!
echo截至目前硬盘已累计运行.......................:!PowerOnTimeCount!小时(!Day!天)>>!File!
)
echo.>>!File!
:Go
echo.>>!File!
echo.硬盘分区模式容量状态型号>>!File!
echo.>>!File!
setRow=0
for/f"skip=1delims="%%iin('WmicDiskDriveGetPartitions^,InterFacetype^,Size^|Find/i/v"USB"')do(
set/aRow+=1
seti=%%i
for/f"tokens=1,2,3"%%jin("!i!")do(
setInterfaceType=%%j
setPartitions=%%k
setDiskSize=%%l
)
setRox=0
for/f"skip=1delims="%%min('WmicDiskDriveGetCaption^|Find/i/v"USB"')do(
set/aRox+=1
if!Rox!==!Row!setDiskCaption=%%m
)
if!Row!==1(setDisklevel=主盘)else(setDisklevel=从盘)
call:GetSize!DiskSize!NominalSize
if"!NominalSize:~0,3!"=="74."setNominalSize=80GB
if"!NominalSize:~0,3!"=="111"setNominalSize=120GB
if"!NominalSize:~0,3!"=="119"setNominalSize=128GB
if"!NominalSize:~0,3!"=="149"setNominalSize=160GB
if"!NominalSize:~0,3!"=="223"setNominalSize=240GB
if"!NominalSize:~0,3!"=="232"setNominalSize=250GB
if"!NominalSize:~0,3!"=="238"setNominalSize=256GB
if"!NominalSize:~0,3!"=="298"setNominalSize=320GB
if"!NominalSize:~0,3!"=="335"setNominalSize=360GB
if"!NominalSize:~0,3!"=="447"setNominalSize=480GB
if"!NominalSize:~0,3!"=="465"setNominalSize=500GB
if"!NominalSize:~0,3!"=="476"setNominalSize=512GB
if"!NominalSize:~0,3!"=="698"setNominalSize=750GB
if"!NominalSize:~0,3!"=="931"setNominalSize=1TB
if"!NominalSize:~0,3!"=="1.8"setNominalSize=2TB
if"!NominalSize:~0,3!"=="2.7"setNominalSize=3TB
if"!NominalSize:~0,3!"=="3.6"setNominalSize=4TB
if"!NominalSize:~0,3!"=="4.5"setNominalSize=5TB
if"!NominalSize:~0,3!"=="5.4"setNominalSize=6TB
if"!NominalSize:~0,3!"=="7.2"setNominalSize=8TB
if"!NominalSize:~0,3!"=="9.0"setNominalSize=10TB
call:Space!Row!8Blank.1
call:Space!Partitions!9Blank.2
call:Space!InterfaceType!12Blank.3
call:Space!NominalSize!12Blank.4
ifnot"!i:~1,1!"==""echo.!Row!!Blank.1!!Partitions!!Blank.2!!InterfaceType!!Blank.3!!NominalSize!!Blank.4!!Disklevel!!DiskCaption!>>!File!
)
echo.>>!File!
echo.>>!File!
echo.盘符格式容量已用剩余卷标>>!File!
echo.>>!File!
for/f"skip=1delims="%%iin('WmicLogicalDiskWhereMediatype^='12'GetDeviceID^,FileSystem^,Size^,FreeSpace^,VolumeName')do(
seti=%%i
for/f"tokens=1,2,3,4,*"%%jin("!i!")do(
setDeviceID=%%j
setFileSystem=%%k
setFreeSpace=%%l
setPartitionSize=%%m
setVolumeName=%%n
if"!VolumeName!"==""setVolumeName=默认值
)
if"!FileSystem!"==""(
setFileSystem=RAW
setTotal=0.00GB
setUsed=0.00GB
setFree=0.00GB
)Else(
call:Minus!PartitionSize!!FreeSpace!PartitionUsed
call:GetSize!FreeSpace!Free
call:GetSize!PartitionSize!Total
call:GetSize!PartitionUsed!Used
if"!Free:~-5,3!"==".00"setFree=!Free:~0,-5!!Free:~-2!
if"!Total:~-5,3!"==".00"setTotal=!Total:~0,-5!!Total:~-2!
if"!Used:~-5,3!"==".00"setUsed=!Used:~0,-5!!Used:~-2!
)
call:Space!FileSystem!9Blank.1
call:Space!Total!12Blank.2
call:Space!Used!12Blank.3
call:Space!Free!12Blank.4
ifnot"!i:~3,1!"==""echo.!DeviceID!!FileSystem!!Blank.1!!Total!!Blank.2!!Used!!Blank.3!!Free!!Blank.4!!VolumeName!>>!File!
)
echo.>>!File!
echo.>>!File!
echo.关于显卡的详细信息如下:>>!File!
echo.>>!File!
echo.名称...........:%VideoName%>>!File!
echo.>>!File!
echo.显存...........:%AdapterRAM%>>!File!
echo.>>!File!
echo.当前模式.......:%Resolution%>>!File!
echo.>>!File!
echo.驱动版本.......:%DriverVersion%>>!File!
echo.>>!File!
echo.驱动日期.......:%DriverDate%>>!File!
echo.>>!File!
echo.内核名称.......:%VideoProcessor%>>!File!
echo.>>!File!
echo.>>!File!
echo.关于显示器的详细信息如下:>>!File!
echo.>>!File!
if"%DisplayName%"==""setDisplayName=未获取
echo.型号...........:%DisplayName%>>!File!
echo.>>!File!
echo.像素密度.......:%PixelsPerXLogicalInch%Dpi>>!File!
echo.>>!File!
echo.当前模式.......:%Resolution%>>!File!
if"%CD-ROM.Name%"neq"无"(
echo.>>!File!
echo.>>!File!
echo.关于光驱的详细信息如下:>>!File!
echo.>>!File!
echo.列出所有光驱:>>!File!
echo.>>!File!
echo.盘符类型型号>>!File!
echo.>>!File!
for/f"skip=1delims="%%iin('WmicCdRomGetName^,Drive^,Mediatype')doecho.%%i>>!File!
)
echo.>>!File!
echo.>>!File!
echo.关于声卡的详细信息如下:>>!File!
echo.>>!File!
echo.列出所有声卡:>>!File!
echo.>>!File!
setRow=0
for/f"delims==tokens=2"%%iin('WmicSounddevGetProductName/Value2^>nul')do(
set/aRow+=1
echo.!Row!.%%i>>!File!
)
echo.>>!File!
echo.当前声卡信息:>>!File!
echo.>>!File!
setRow=0
for/f"tokens=2delims=:"%%iin('Findstr/IC:"DriverVersion:"%Temp%\Dxdiag.dll')do(
set/aRow+=1
if!Row!==2setSoundDriverVersion=%%i
)
for/f"tokens=1,*delims=:"%%iin('Findstr/IC:"DateandSize:"%Temp%\Dxdiag.dll')do(
if"%%j"==""(
setSoundDate=未获取
setSoundSize=未获取
Goto:NoDateandSize)else(
for/f"tokens=1,2delims=,"%%kin("%%j")do(
setSoundDate=%%k
setSoundSize=%%l
)))
for/f%%iin("!SoundSize!")docall:GetSize%%iSoundSize
for/f%%iin("!SoundDate!")dosetSoundDate=%%i
for/f"tokens=1,2,3delims=/"%%iin("!SoundDate!")do(
if%%ilss%%ksetSoundDate=%%k年%%i月%%j日
if%%igtr%%ksetSoundDate=%%i年%%j月%%k日
)
:NoDateandSize
echo.输出声卡.......:!Description!>>!File!
echo.>>!File!
echo.驱动版本.......:!SoundDriverVersion!>>!File!
echo.>>!File!
echo.驱动日期.......:!SoundDate!>>!File!
echo.>>!File!
echo.驱动大小.......:!SoundSize!>>!File!
echo.>>!File!
echo.>>!File!
echo.关于网卡的详细信息如下:>>!File!
echo.>>!File!
echo.网卡名称.......:!NetName!>>!File!
echo.>>!File!
echo.内网IP.........:!IP!>>!File!
echo.>>!File!
echo.网关...........:%DefaultIPGateway%>>!File!
echo.>>!File!
echo.掩码...........:%IPSubnet%>>!File!
echo.>>!File!
echo.MAC............:!MacAddress!>>!File!
echo.>>!File!
echo.当前状态.......:!NetWorking!(外网)>>!File!
setRow=0
for/f"skip=2tokens=2delims=="%%iin('WmicPrinterwhere"Default='TRUE'"getDriverName^,caption/value2^>nul')do(
set/aRow+=1
if!Row!==1setPrinterName=%%i
if!Row!==2setPrinterNamf=%%i
)
if"%PrinterName%"neq""(
echo.>>!File!
echo.>>!File!
echo.关于打印机的详细信息如下:>>!File!
echo.>>!File!
echo.名称...........:!PrinterName!>>!File!
echo.>>!File!
echo.型号...........:!PrinterNamf!>>!File!
echo.>>!File!
echo.说明...........:只获取默认打印机信息>>!File!
)
setRow=0
for/f"skip=2tokens=2delims=="%%iin('Wmiclogicaldiskwhere"drivetype=2"getDeviceID^,FileSystem^,FreeSpace^,Size^,VolumeName^,VolumeSerialNumber/value2^>nul')do(
set/aRow+=1
if!Row!==1setU.DeviceID=%%i
if!Row!==2setU.FileSystem=%%i
if!Row!==3setU.FreeSpace=%%i
if!Row!==4setU.Size=%%i
if!Row!==5setU.VolumeName=%%i
if!Row!==6setU.VolumeSerialNumber=%%i
)
if"%U.FileSystem%"==""setU.FileSystem=No
if"%U.FreeSpace%"==""setU.FreeSpace=0
if"%U.Size%"==""setU.Size=0
if"%U.VolumeName%"==""setU.VolumeName=默认值
if"%U.VolumeSerialNumber%"==""setU.VolumeSerialNumber=No
if"%U.DeviceID%"neq""(
call:Minus!U.Size!!U.FreeSpace!U.Used
call:GetSize!U.FreeSpace!U.FreeSpace
call:GetSize!U.Used!U.Used
call:GetSize!U.Size!U.Size
call:Space!U.FileSystem!10Blank.1
call:Space!U.Size!10Blank.2
call:Space!U.Used!10Blank.3
call:Space!U.FreeSpace!10Blank.4
call:Space!U.VolumeSerialNumber!12Blank.5
echo.>>!File!
echo.>>!File!
echo.关于可移动磁盘的详细信息如下:>>!File!
echo.>>!File!
echo盘符格式容量已用剩余序列号卷标>>!File!
echo.>>!File!
echo%U.DeviceID%%U.FileSystem%!Blank.1!!U.Size!!Blank.2!!U.Used!!Blank.3!!U.FreeSpace!!Blank.4!%U.VolumeSerialNumber%!Blank.5!%U.VolumeName%>>!File!
)
setU.DeviceID=
setRow=0
for/f"skip=10tokens=2delims=="%%iin('Wmiclogicaldiskwhere"drivetype=2"getDeviceID^,FileSystem^,FreeSpace^,Size^,VolumeName^,VolumeSerialNumber/value2^>nul')do(
set/aRow+=1
if!Row!==1setU.DeviceID=%%i
if!Row!==2setU.FileSystem=%%i
if!Row!==3setU.FreeSpace=%%i
if!Row!==4setU.Size=%%i
if!Row!==5setU.VolumeName=%%i
if!Row!==6setU.VolumeSerialNumber=%%i
)
if"%U.FileSystem%"==""setU.FileSystem=No
if"%U.FreeSpace%"==""setU.FreeSpace=0
if"%U.Size%"==""setU.Size=0
if"%U.VolumeName%"==""setU.VolumeName=默认值
if"%U.VolumeSerialNumber%"==""setU.VolumeSerialNumber=No
if"%U.DeviceID%"neq""(
call:Minus!U.Size!!U.FreeSpace!U.Used
call:GetSize!U.FreeSpace!U.FreeSpace
call:GetSize!U.Used!U.Used
call:GetSize!U.Size!U.Size
call:Space!U.FileSystem!10Blank.1
call:Space!U.Size!10Blank.2
call:Space!U.Used!10Blank.3
call:Space!U.FreeSpace!10Blank.4
call:Space!U.VolumeSerialNumber!12Blank.5
echo%U.DeviceID%%U.FileSystem%!Blank.1!!U.Size!!Blank.2!!U.Used!!Blank.3!!U.FreeSpace!!Blank.4!%U.VolumeSerialNumber%!Blank.5!%U.VolumeName%>>!File!
)
setU.DeviceID=
setRow=0
for/f"skip=18tokens=2delims=="%%iin('Wmiclogicaldiskwhere"drivetype=2"getDeviceID^,FileSystem^,FreeSpace^,Size^,VolumeName^,VolumeSerialNumber/value2^>nul')do(
set/aRow+=1
if!Row!==1setU.DeviceID=%%i
if!Row!==2setU.FileSystem=%%i
if!Row!==3setU.FreeSpace=%%i
if!Row!==4setU.Size=%%i
if!Row!==5setU.VolumeName=%%i
if!Row!==6setU.VolumeSerialNumber=%%i
)
if"%U.FileSystem%"==""setU.FileSystem=No
if"%U.FreeSpace%"==""setU.FreeSpace=0
if"%U.Size%"==""setU.Size=0
if"%U.VolumeName%"==""setU.VolumeName=默认值
if"%U.VolumeSerialNumber%"==""setU.VolumeSerialNumber=No
if"%U.DeviceID%"neq""(
call:Minus!U.Size!!U.FreeSpace!U.Used
call:GetSize!U.FreeSpace!U.FreeSpace
call:GetSize!U.Used!U.Used
call:GetSize!U.Size!U.Size
call:Space!U.FileSystem!10Blank.1
call:Space!U.Size!10Blank.2
call:Space!U.Used!10Blank.3
call:Space!U.FreeSpace!10Blank.4
call:Space!U.VolumeSerialNumber!12Blank.5
echo%U.DeviceID%%U.FileSystem%!Blank.1!!U.Size!!Blank.2!!U.Used!!Blank.3!!U.FreeSpace!!Blank.4!%U.VolumeSerialNumber%!Blank.5!%U.VolumeName%>>!File!
)
setU.DeviceID=
setRow=0
for/f"skip=26tokens=2delims=="%%iin('Wmiclogicaldiskwhere"drivetype=2"getDeviceID^,FileSystem^,FreeSpace^,Size^,VolumeName^,VolumeSerialNumber/value2^>nul')do(
set/aRow+=1
if!Row!==1setU.DeviceID=%%i
if!Row!==2setU.FileSystem=%%i
if!Row!==3setU.FreeSpace=%%i
if!Row!==4setU.Size=%%i
if!Row!==5setU.VolumeName=%%i
if!Row!==6setU.VolumeSerialNumber=%%i
)
if"%U.FileSystem%"==""setU.FileSystem=No
if"%U.FreeSpace%"==""setU.FreeSpace=0
if"%U.Size%"==""setU.Size=0
if"%U.VolumeName%"==""setU.VolumeName=默认值
if"%U.VolumeSerialNumber%"==""setU.VolumeSerialNumber=No
if"%U.DeviceID%"neq""(
call:Minus!U.Size!!U.FreeSpace!U.Used
call:GetSize!U.FreeSpace!U.FreeSpace
call:GetSize!U.Used!U.Used
call:GetSize!U.Size!U.Size
call:Space!U.FileSystem!10Blank.1
call:Space!U.Size!10Blank.2
call:Space!U.Used!10Blank.3
call:Space!U.FreeSpace!10Blank.4
call:Space!U.VolumeSerialNumber!12Blank.5
echo%U.DeviceID%%U.FileSystem%!Blank.1!!U.Size!!Blank.2!!U.Used!!Blank.3!!U.FreeSpace!!Blank.4!%U.VolumeSerialNumber%!Blank.5!%U.VolumeName%>>!File!
)
echo.>>!File!
echo.>>!File!
echo.>>!File!
echo.>>!File!
echo.程序版本..............................:V-2.2>>!File!
echo.>>!File!
setTim.2=%time%
call:TimeDifference!Tim.1!!Tim.2!Difference
echo.生成详细信息耗时.....................:%Difference%>>!File!
for/f%%iin("%date%")dosetDat=%%i
for/f"delims=."%%iin("%Time%")dosetTim=%%i
echo.>>!File!
echo.此程序最后优化于.....................:2020年03月18日>>!File!
echo.>>!File!
echo.以上信息生成于........................:%Dat%%Tim%>>!File!
echo.>>!File!
del/a/f%Temp%\Dxdiag.dll>nul2>nul
start!File!
:End
Exit
:Space
if"%~3"==""Goto:eof
setS=%~1
setLen.2=%~2
setSpace=
for/l%%iin(25-11)doif"!S:~%%i,1!"==""setLen.1=%%i
set/aLen.3=!Len.2!-!Len.1!
for/l%%iin(11!Len.3!)dosetSpace=!Space!
set%~3=!Space!
Goto:eof
:GetSize
setBytes=%~1
if"%~2"==""Goto:eof
call:Division!Bytes!1152921504606846976OK
ifnot"%OK:~0,2%"=="0."(
set%~2=!OK!EB
Goto:eof
)else(call:Division!Bytes!1125899906842624OK)
ifnot"%OK:~0,2%"=="0."(
set%~2=!OK!PB
Goto:eof
)else(call:Division!Bytes!1099511627776OK)
ifnot"%OK:~0,2%"=="0."(
set%~2=!OK!TB
Goto:eof
)else(call:Division!Bytes!1073741824OK)
ifnot"%OK:~0,2%"=="0."(
set%~2=!OK!GB
Goto:eof
)else(call:Division!Bytes!1048576OK)
ifnot"%OK:~0,2%"=="0."(
set%~2=!OK!MB
Goto:eof
)else(call:Division!Bytes!1024OK)
ifnot"%OK:~0,2%"=="0."(
set%~2=!OK!KB
Goto:eof
)else(
set%~2=!Bytes!B
Goto:eof)
:TimeDifference
set/aN=0
for/f"tokens=1-8delims=.:"%%Iin("%~2:%~1")do(
set/aN+=10%%I%%100*360000+10%%J%%100*6000+10%%K%%100*100+10%%L%%100
set/aN-=10%%M%%100*360000+10%%N%%100*6000+10%%O%%100*100+10%%P%%100
)
setSco=!N!
set/aS=N/360000,N=N%%360000,F=N/6000,N=N%%6000,M=N/100,N=N%%100
setT=%M%秒%N%毫秒
set%~3=%T%
Goto:eof
:Calc
setCal.1=%~1
setCal.2=%~2
setCal.3=0
setCal.4=
for%%iin(!Smart!)do(set/aCal.3+=1
if!Cal.3!Geq!Cal.1!(if!Cal.3!Lss!Cal.2!setCal.4=!Cal.4!%%i))
for/f"tokens=6,7"%%iin("!Cal.4!")doset/aCal.4=%%j*256+%%i
set%~3=!Cal.4!
Goto:eof
:Inspect
title获取硬件信息-正在检测运行环境,请稍等...
if%~Z0neq40938Exit
if/i"%systemDrive%"=="X:"Title此程序不支持PE环境,请安任意键退出!&Pause>nul&exit
NetUserGuest/Active:Yes>nul2>nul
if/i%Errorlevel%neq0Title当前账户权限不足,请以管理员身份运行!&Pause>nul&exit
setTit=关于电脑配置的简要信息如下:
setTitl=关于电脑配置的详细信息如下:
ScConfigWinmgmtStart=Auto>nul2>nul
for/f"tokens=2delims=="%%iin('WmicDiskDriveGetModel/Value^|Find/i/v"USB"')do(
echo%%i>%Temp%\Temp.txt
for/f%%jin('Findstr/i"VmwareVboxVirtualQemu"%Temp%\Temp.txt')do(
if"%%j"neq""(Color03
setTit=检测环境处于虚拟机中,以下信息可能不准:
setTitl=检测环境处于虚拟机中,以下信息可能不准:
)
)
del/a/f%Temp%\Temp.txt>nul2>nul
)
Goto:eof
:Addition
if"%~3"==""Goto:eof
setAdd.1=%~1
setAdd.2=%~2
setAdd.3=
setAdd.3.Temp.1=
setAdd.3.Temp.2=0
setAdd.1.Temp=
for/l%%iin(25-10)do(if"!Add.1:~%%i,1!"==""setAdd.1.Len=%%i
if"!Add.2:~%%i,1!"==""setAdd.2.Len=%%i)
if!Add.1.Len!lss!Add.2.Len!(setAdd.1=%~2
setAdd.2=%~1)
for/l%%iin(019)dosetAdd.1=!Add.1:%%i=%%i!
for%%iin(!Add.1!)dosetAdd.1.Temp=%%i!Add.1.Temp!
if%~Z0neq40938Goto:End
for%%iin(!Add.1.Temp!)do(
if"!Add.2!"==""setAdd.2=0
set/aAdd.3.Temp.1=%%i+!Add.2:~-1!+!Add.3.Temp.2!
setAdd.3=!Add.3.Temp.1:~-1!!Add.3!
setAdd.3.Temp.2=!Add.3.Temp.1:~0,-1!
if"!Add.3.Temp.2!"==""setAdd.3.Temp.2=0
setAdd.2=!Add.2:~0,-1!
)
if!Add.3.Temp.2!neq0setAdd.3=!Add.3.Temp.2!!Add.3!
for/f"tokens=*delims=0"%%iin("!Add.3!")dosetAdd.3=%%i
if"!Add.3!"==""setAdd.3=0
set%~3=!Add.3!
Goto:eof
:Minus
if"%~3"==""Goto:eof
setMin.0=0
setMin.1=%~1
setMin.2=%~2
setMin.3=
setMin.1.Temp=
for/l%%iin(019)dosetMin.1=!Min.1:%%i=%%i!
for%%iin(!Min.1!)dosetMin.1.Temp=%%i!Min.1.Temp!
for%%iin(!Min.1.Temp!)do(
setMin.i=%%i
if"!Min.2!"==""setMin.2=0
if!Min.0!==10set/aMin.i=!Min.i!-1
if!Min.2:~-1!gtr!Min.i!(setMin.0=10)elsesetMin.0=0
set/aMin.3.Temp=!Min.i!+!Min.0!-!Min.2:~-1!
setMin.3=!Min.3.Temp!!Min.3!
setMin.2=!Min.2:~0,-1!
)
for/f"tokens=*delims=0"%%iin("!Min.3!")dosetMin.3=%%i
if"!Min.3!"==""setMin.3=0
set%~3=!Min.3!
Goto:eof
:Division
if"%~3"==""Goto:eof
setlocal
setDiv.1=%~1
setDiv.2=%~2
setDiv.3=
setDec.d=2
setZer.O=00000000
for/l%%iin(117)dosetZer.O=!Zer.O!!Zer.O!
setHalving=4096204810245122561286432168421
for/l%%iin(112)do(seti=0&setDiv.%%i.Len.2=0
for%%jin(!Div.%%i:.^=!)do(
set/ai+=1&setjj=jj%%j&setDiv.%%i.Len.!i!=0
for%%kin(!Halving!)do(if"!jj:~%%k!"neq""set/aDiv.%%i.Len.!i!+=%%k&setjj=!jj:~%%k!)
set/aDiv.%%i.Len.0+=Div.%%i.Len.!i!
)
setDiv.%%i=!Div.%%i:.=!
)
if!Div.1.Len.2!gtr!Div.2.Len.2!(set/aDiv.2.Len.0+=Div.1.Len.2-Div.2.Len.2)else(set/aDiv.1.Len.0+=Div.2.Len.2-Div.1.Len.2)
for/l%%iin(112)do(setDiv.%%i=!Div.%%i!!Zer.O!
for%%jin(!Div.%%i.Len.0!)dosetDiv.%%i=!Div.%%i:~,%%j!
)
for/f"tokens=*delims=0"%%iin("!Div.2!")dosetN=%%i&setDiv.2=0%%i
setDiv.2.Len.0=1
for%%jin(!Halving!)do(if"!N:~%%j!"neq""(set/aDiv.2.Len.0+=%%j&setN=!N:~%%j!))
set/aDiv.Len=Div.2.Len.0+1
if!Div.1.Len.0!lss!Div.2.Len.0!setDiv.1.Len.0=!Div.2.Len.0!&setDiv.1=!Zer.O:~-%Div.2.Len.0%,-%Div.1.Len.0%!!Div.1!
set/aDiv.1.Len.0+=Dec.d
setDiv.X=%~Z0
set/aDiv.Y=31415+9523
if!Div.X!neq!Div.Y!goto:eof
setDiv.1=0!Div.1!!Zer.O:~,%Dec.d%!
setDiv=!Div.1:~,%Div.2.Len.0%!
seti=0000000!Div.2!
set/aLen=Div.2.Len.0+7
for/l%%iin(119)do(setT=0
for/l%%jin(88!Len!)do(set/aT=1!i:~-%%j,8!*%%i+T
setNum%%i=!T:~-8!!Num%%i!
set/aT=!T:~,-8!-%%i
)
setNum%%i=!T!!Num%%i!
setNum%%i=0000000!Num%%i:~-%Div.Len%!
)
for/l%%lin(!Div.2.Len.0!1!Div.1.Len.0!)do(
setDiv=!Zer.O!!Div!!Div.1:~%%l,1!
setDiv=!Div:~-%Div.Len%!
if"!Div!"geq"!Div.2!"(
setM=1&seti=0000000!Div!
for/l%%iin(219)doif!i!geq!Num%%i!setM=%%i
setDiv.3=!Div.3!!M!
setDiv=
setT=0
for%%iin(!M!)do(
for/l%%jin(88!Len!)do(
set/aT=3!i:~-%%j,8!-1!Num%%i:~-%%j,8!-!T:~,1!%%2
setDiv=!T:~1!!Div!
)
)
)elsesetDiv.3=!Div.3!0
)
ifdefinedDec.dif%Dec.d%gtr0setDiv.3=!Div.3:~,-%Dec.d%!.!Div.3:~-%Dec.d%!
for/f"tokens=*delims=0"%%iin("!Div.3!")dosetDiv.3=%%i
if"!Div.3:~0,1!"=="."setDiv.3=0!Div.3!
endlocal&set%~3=%Div.3%
Goto:eof
RemQQ:5400449772020-04-29
说明:此程序纯批处理,且纯净绿色,也不会在生成文件中包含我的个人信息,大家不要随意修改里面的代码结构,很可能自己电脑没问题,到了别的电脑就会获取不准。