中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 05:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [分享] 挖出硬件信息 查看 671 回复 1
楼 主 [分享] 挖出硬件信息 发表于 2008-04-18 20:04 ·  中国 广东 深圳 罗湖区 电信
初级用户
★★
积分 153
发帖 103
注册 2008-03-27 19:38
18年会员
UID 114210
性别 男
状态 离线
On Error Resume Next
temp=0
set wshshell=wscript.createobject("wscript.shell")
'启动WMI服务(没有这个服务就不行)
wshshell.run ("%comspec% /c regsvr32 /s scrrun.dll"),0,True
wshshell.run ("%comspec% /c sc config winmgmt start= auto"),0,True
wshshell.run ("%comspec% /c net start winmgmt"),0
'用一个文本来记录硬件信息
Set WshNetwork = WScript.Createobject("WScript.Network")
computername=WshNetwork.ComputerName
set fso=createobject("scripting.filesystemobject")
folder1=wshshell.SpecialFolders(10)
tempfilter=folder1 & "\yj.txt"
'这里是硬件信息纪录的存放位置,可以是网络共享路径(需有写入权限)
set tempfile=fso.createtextfile(tempfilter)
strComputer = "."
Set objWMIService = Getobject("winmgmts:\\" & strComputer & "\root\cimv2")
'主板
set board =objwmiservice.execQuery("select * from win32_baseboard")
for each item in board
board2="主板:" & item.Product
next
'CPU
set cpu =objwmiservice.execQuery("select * from win32_processor")
for each item in cpu
cpu2= "CPU:" & item.Name
next
'内存
Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory",,48)
For Each objItem in colItems
a=objitem.capacity/1048576
temp=temp+objitem.capacity
n=n+1
Next
memory=temp/1048576
if n=1 then
memory2= "内存: " & n & "条" &a&"M"
else
memory2= "内存: " & n & "条" &a&"M"&" 总计"&memory&"M"
end if
'硬盘
set disk =objwmiservice.execQuery("select * from win32_diskdrive")
for each item in disk
disk2= "硬盘: " & item.Model
next
'显卡
set video =objwmiservice.execQuery("select * from win32_videocontroller",,48)
for each item in video
video2= "显卡: " & item.Description
next
'网卡
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter",,48)
For Each objItem in colItems
if (left(objItem.NetConnectionID,4)="本地连接") then
lanname=objItem.Name
end if
Next
lan2="网卡: " & lanname
tempfile.writeline(board2)
tempfile.writeline(cpu2)
tempfile.writeline(memory2)
tempfile.writeline(disk2)
tempfile.writeline(video2)
tempfile.writeline(lan2)
2 强: 发表于 2008-04-18 23:50 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
测试成功,谢谢分享!
只是今天的分加完了,改天补上了。
批处理之家新域名:www.bathome.net
论坛跳转: