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

[问题求助] [已解决]请教几个关于WMI的问题!

1、如上图中,我想提取【bytesrec...】下面数值最大的那一行应该怎么写?

2、如何显示【caption】中所有的字段?
3、哪里有较新的WMI教程啊?在网上找了一些,都不是很全,而且都是比较久的。

麻烦各位老大了!谢谢!

本帖最后由 pcl_test 于 2015-7-30 17:44 编辑

1、不知道具体类名,使用遍历排序输出最大值
2、
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  3. Set Disks = objWMIService.ExecQuery("Select * From Win32_DiskDrive")
  4. For Each Item In Disks
  5.     s = s & Item.Caption & vbCrLf
  6. Next
  7. Msgbox Trim(s)
复制代码

TOP

本帖最后由 437153 于 2015-7-31 09:29 编辑

回复 2# pcl_test

感谢老大帮忙!

    1、类名是:Win32_PerfRawData_Tcpip_NetworkInterface
   
    2、如果我想把内容赋值到变量应该怎么写?
作用是统计网卡的流量。

TOP

回复 3# 437153
1、
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  3. Set Items = objWMIService.ExecQuery("Select * from Win32_PerfRawData_Tcpip_NetworkInterface")
  4. max = 0
  5. For Each Item In Items
  6. If CLng(Item.BytesReceivedPerSec) >= max Then
  7.     max = CLng(Item.BytesReceivedPerSec)
  8. End If
  9. Next
  10. Msgbox max
复制代码
2、s不是变量?要先补下基础知识呀

TOP

回复 4# pcl_test


    额,确实是才开始学习。
    终于的是我描述问题貌似也有问题
我想说的是:Caption 字段下面有多个值,我想赋值到各自的变量中去。
比如:
S1=GLOWAY.....
S2=TOSHIBA....

不好意思哈,劳烦你这么多次!

TOP

回复 5# 437153
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  3. Set Disks = objWMIService.ExecQuery("Select * From Win32_DiskDrive")
  4. Dim arr()
  5. i = 0
  6. For Each Item In Disks
  7.     ReDim Preserve arr(i)
  8.     arr(i) = Item.Caption
  9.     i = i + 1
  10. Next
  11. For j = 0 To UBound(arr)
  12.     Msgbox arr(j)
  13. Next
复制代码

TOP

回复 6# pcl_test


    感谢您的帮助!学到了!

TOP

返回列表