VBScript 从 WMI 查询循环中获取值的总和

VBScript get sum of values from WMI query loop

下面显示的基本脚本将回显它在 colItems 中找到的每个 objItem.MemoryDevices (M) 的值。然而,这不是我想要的。由于每个值始终是一个数字,因此我希望它回显它找到的所有值的总和。

strComputer = "."

Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" )
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemoryArray",,48 )


For Each objItem in colItems
    M = objItem.MemoryDevices
    Wscript.Echo M
Next

VBScript 会自动在字符串和数值类型之间进行转换。您应该能够通过将总计集添加到数字来完成您想要的,然后将总计增加变量 M.

strComputer = "."

Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" )
Set colItems = objWMIService.ExecQuery("SELECT * FROM 
Win32_PhysicalMemoryArray",,48 )

Total = 0
For Each objItem in colItems
    M = objItem.MemoryDevices
    Total = Total + M
Next

WScript.Echo Total