[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理获取的cpu怎么和我的电脑属性里面的类型不一样?

请教一下,我这里提取的cpu名称怎么和我的电脑属性里面的名称不一样?还有如何把硬盘大小改为单位为G的好看些,内存大小改为MB的好看些,谢谢!!!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title 获取本机硬件信息 by ufosj
  4. Rem '/*=========初始化设置=============*/
  5. set "Space=        "
  6. set "PH_addr=%Space%Physical Address"  %'/*-----物理地址-------*/%
  7. set "IP_addr=%Space%IP Address" %'/*------IP地址(局域网)--------*/%
  8. set "Gate_addr=%Space%Default Gateway " %'/*------网关(局域网)--------*/%
  9. Rem ===========主程序===================
  10. for /f "tokens=1,* delims=." %%i in ('ipconfig /all') do (
  11.    for %%a in (PH_addr IP_addr Gate_addr ) do (
  12.       if "%%i"=="!%%a!" set %%a=%%j
  13.    )
  14. )
  15. ::for /f "skip=1" %%i in ('wmic os get csname') do set 计算机名=%%i
  16. set 计算机名=%computername%
  17. for /f "skip=1 delims=" %%i in ('wmic BaseBoard get Product') do set 主板型号=%%i
  18. for /f "skip=1 delims=" %%i in ('wmic BaseBoard get Manufacturer') do set 主板厂商=%%i
  19. set|find "主板厂商">nul||set 主板厂商=无
  20. for /f "skip=1 delims=" %%i in ('wmic cpu get name') do set CPU型号=%%i
  21. for /f "skip=1 delims=" %%i in ('wmic MEMLOGICAL get TotalPhysicalMemory') do set 内存总量=%%i
  22. for /f "skip=1 delims=" %%i in ('wmic DISKDRIVE get caption') do call set 硬盘型号=%%硬盘型号%% %%i
  23. for /f "skip=1 delims=" %%i in ('wmic DISKDRIVE get size') do call set 硬盘大小=%%硬盘大小%% %%i
  24. ::for /f "skip=1 delims=" %%i in ('wmic SOUNDDEV get ProductName') do set 声卡型号=%%i
  25. for /f "tokens=13*" %%i in ('ipconfig /all ^|find "Description"') do set 网卡=%%j
  26. ::for /f %%i in ('REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Video ^|find /i "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\"') do (
  27. :: for /f %%j in ('REG QUERY %%i\0000 ^|find /i "VolatileSettings"') do (
  28. :: for /f "tokens=3*" %%k in ('REG QUERY %%i\0000 /v "Device Description" ^|find /i "Device"') do set 显卡=%%l
  29. )
  30. )
  31. Rem '/*===========对结果进行处理===========
  32. set PH_addr=%PH_addr:*:=%
  33. set IP_addr=%IP_addr:*:=%
  34. set Gate_addr=%Gate_addr:*:=%
  35. Rem '/*===========结果输出===============
  36. echo 计算机名:%ComputerName%
  37. echo CPU 型号:%CPU型号%
  38. echo 内存总量:%内存总量: =%(B)
  39. echo 硬盘型号:%硬盘型号%
  40. echo 硬盘大小:%硬盘大小%
  41. echo 网 卡:%网卡%
  42. echo MAC地址:%PH_addr%
  43. echo IP地址:%IP_addr%
  44. echo 网关:%Gate_addr%
  45. echo.
  46. pause>nul
复制代码

38行前插入:
  1. >tmp.vbs echo Wscript.Echo int(wscript.arguments(0)/wscript.arguments(1))
  2. set/a n=1024*1024
  3. for %%a in (内存总量 硬盘大小) do (
  4.   for /f %%i in ('cscript //nologo tmp.vbs !%%a! !n!') do (
  5.       set %%a=%%i
  6.   )
  7.   set/a n*=1024
  8. )
  9. del tmp.vbs
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

返回列表