纯批处理获取硬件信息的代码
先声明:我私下会不断的更新代码,只有大幅度更新才会上传到这里(目前核心代码基本完善)!
兼容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
说明:此程序纯批处理,且纯净绿色,也不会在生成文件中包含我的个人信息,大家不要随意修改里面的代码结构,很可能自己电脑没问题,到了别的电脑就会获取不准。