标题: [系统相关] 需要获取硬件信息的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行后面- @echo off
-
- for /f "tokens=1* delims==" %%a in ('wmic /namespace:\\root\wmi path WmiMonitorBasicDisplayParams where Active^="TRUE" get /value') do (
- if "%%a" == "InstanceName" set mmd= %%b
- if "%%a" == "MaxHorizontalImageSize" set wd= %%b
- if "%%a" == "MaxVerticalImageSize" set hg= %%b
- )
- for /f "tokens=2 delims=\" %%i in ("%mmd%") do set mmd=%%i
-
- set "char=`1111111111111111111111111111111 11#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
-
- echo ============显示器信息============ >>%h%_info.txt
-
- for /f "tokens=1* delims=={" %%a in ('wmic /namespace:\\root\wmi path WmiMonitorId where Active^="TRUE" get /value') do (
- if "%%a" == "WeekOfManufacture" set wk= %%b
- if "%%a" == "YearOfManufacture" set yr= %%b
- if "%%a" == "UserFriendlyName" (
- set name= %%b_
- setlocal enabledelayedexpansion
- echo !name!|findstr "}" 1>nul && set s=0
- if defined s (
- set name=!name:}=,},!
- call :aaa "!name!"
- )
- if not defined str set "str= `"
- echo 名称 : !str:`=! >>%h%_info.txt
- endlocal
- )
- )
-
- (setlocal enabledelayedexpansion
- echo 型号 : !mmd!
- echo 屏幕尺寸 : !wd:~0,-1! X !hg:~0,-1! 厘米
- echo 生产日期 : !yr:~0,-1! 年第 !wk:~0,-1! 周
- endlocal
- )>>%h%_info.txt
- goto :bbb
-
- :aaa
- for /f "tokens=1* delims=," %%i in (%1) do (
- if "%%i" neq "}" (
- set str=!str!!char:~%%i,1!
- call :aaa "%%j"
- )
- goto :EOF
- )
-
- :bbb
复制代码
作者: Murphy 时间: 2023-10-25 23:31
回复 4# Five66
谢谢,试了下不行。你提供的也单独试过,两者要求的编码不一样,而且显示的只有屏幕尺寸和生产日期。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |