将数组中的属性字符串解析为 For Each 循环

Parse properties string in an array to For Each loop

我正在尝试使用 VBScript 获取有关笔记本电脑电池的信息。

更多的是属性。我想为每个 objItem.

解析 arrayItems("Name","Availability","BatteryStatus","Chemistry")

例如:

For iii = 0 To UBound(arrayItems)
    WScript.Echo "Result of iii:" & objItem.arrayItems (iii)
Next

我不想手动输入 "Availability: " & objItem.Availability"BatteryStatus: " & objItem.BatteryStatus、...

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Battery",,48)
For Each objItem In colItems
    WScript.Echo "Name: " & objItem.Name
    WScript.Echo "Availability: " & objItem.Availability
    WScript.Echo "BatteryStatus: " & objItem.BatteryStatus
    WScript.Echo "Chemistry: " & objItem.Chemistry
    WScript.Echo "DesignVoltage: " & objItem.DesignVoltage
    WScript.Echo "EstimatedChargeRemaining: " & objItem.EstimatedChargeRemaining
    WScript.Echo "Status: " & objItem.Status
Next

你想要的都可以通过对象的properties_ property set:

arrayItems = Array("Name", "Availability", "BatteryStatus", "Chemistry")
For Each objItem In colItems
    For Each name In arrayItems
        WScript.Echo name & ": " & objItem.properties_(name)
    Next
Next