Board logo

标题: [系统相关] 需要获取硬件信息的bat文件,求助! [打印本页]

作者: Murphy    时间: 2023-10-24 01:39     标题: 需要获取硬件信息的bat文件,求助!

本帖最后由 Murphy 于 2023-12-7 18:40 编辑

1111111111111111111111111111
作者: Batcher    时间: 2023-10-24 09:50

回复 1# Murphy


参考:批处理提取显示器的硬件信息
http://bbs.bathome.net/thread-67084-1-1.html
作者: Murphy    时间: 2023-10-24 23:09

回复 2# Batcher


    谢谢,文中提及的原文也看过,信息比较多,关于批处理我是没学过的,所以也是看不懂的。
作者: Five66    时间: 2023-10-25 09:27

简单版本,不知行否
将下面代码插入到1楼的代码第13行后面
  1. @echo off
  2. for /f "tokens=1* delims==" %%a in ('wmic /namespace:\\root\wmi path WmiMonitorBasicDisplayParams where Active^="TRUE" get /value') do (
  3. if "%%a" == "InstanceName" set mmd= %%b
  4. if "%%a" == "MaxHorizontalImageSize" set wd= %%b
  5. if "%%a" == "MaxVerticalImageSize" set hg= %%b
  6. )
  7. for /f "tokens=2 delims=\" %%i in ("%mmd%") do set mmd=%%i
  8. set "char=`1111111111111111111111111111111 11#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
  9. echo ============显示器信息============ >>%h%_info.txt
  10. for /f "tokens=1* delims=={" %%a in ('wmic /namespace:\\root\wmi path WmiMonitorId where Active^="TRUE" get /value') do (
  11. if "%%a" == "WeekOfManufacture" set wk= %%b
  12. if "%%a" == "YearOfManufacture" set yr= %%b
  13. if "%%a" == "UserFriendlyName" (
  14. set name= %%b_
  15. setlocal enabledelayedexpansion
  16. echo !name!|findstr "}" 1>nul && set s=0
  17. if defined s (
  18. set name=!name:}=,},!
  19. call :aaa "!name!"
  20. )
  21. if not defined str set "str= `"
  22. echo     名称 :  !str:`=! >>%h%_info.txt
  23. endlocal
  24. )
  25. )
  26. (setlocal enabledelayedexpansion
  27. echo     型号 :  !mmd!
  28. echo 屏幕尺寸 : !wd:~0,-1! X !hg:~0,-1! 厘米
  29. echo 生产日期 : !yr:~0,-1! 年第 !wk:~0,-1! 周
  30. endlocal
  31. )>>%h%_info.txt
  32. goto :bbb
  33. :aaa
  34. for /f "tokens=1* delims=," %%i in (%1) do (
  35. if "%%i" neq "}" (
  36. set str=!str!!char:~%%i,1!
  37. call :aaa "%%j"
  38. )
  39. goto :EOF
  40. )
  41. :bbb
复制代码

作者: Murphy    时间: 2023-10-25 23:31

回复 4# Five66
谢谢,试了下不行。你提供的也单独试过,两者要求的编码不一样,而且显示的只有屏幕尺寸和生产日期。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2