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

VBScript从WMI查询循环获取值的总和,vbscript,wmi,Vbscript,Wmi,下面显示的基本脚本将回显在colitem中找到的每个objItem.MemoryDevices(M)的值。然而,这不是我想要的。由于每个值都将始终是一个数字,因此我希望它能够返回找到的所有值的总和 strComputer = "." Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" ) Set colItems = objWMIService.ExecQuery("SELECT

下面显示的基本脚本将回显在colitem中找到的每个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