Разобрать строку свойств в массиве для цикла For Each - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь получить информацию о батарее в моем ноутбуке с помощью VBScript.

Это больше свойств.Я хочу проанализировать arrayItems("Name","Availability","BatteryStatus","Chemistry") для каждого objItem.

Например:

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

1 Ответ

3 голосов
/ 29 мая 2019

То, что вы хотите, можно сделать с помощью свойства объекта properties_ :

arrayItems = Array("Name", "Availability", "BatteryStatus", "Chemistry")
For Each objItem In colItems
    For Each name In arrayItems
        WScript.Echo name & ": " & objItem.properties_(name)
    Next
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...