VBScript, чтобы сделать все oop, пока не будет найдена строка - PullRequest
0 голосов
/ 27 февраля 2020

Я прошу прощения, если это повторение, но я не нашел подходящей помощи до сих пор.

Что я пытаюсь сделать sh - перечислить все сетевые адаптеры компьютера, которые имеют определенное значение ( 2 в NetConnectionStatus в WMI). И затем, из этого списка имен сетевых адаптеров, я хочу проверить, содержит ли некоторые из них строку, но не содержит другую.

В моем примере я не хочу оценивать строку, если строка содержит «Juniper». Однако, если строка содержит, например, «4G» или «HSPA» или «Mobile», я хочу повторить «Mobile», иначе «Not Mobile»

Так что в основном это моя первая попытка (но это дает мне бесконечный l oop ...)

Большое спасибо за вашу помощь!

Set oWsh = WScript.CreateObject("WScript.Shell")   

Set oWshSysEnv = oWsh.Environment("PROCESS")   

Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")   

Set colItems = GetObject("WinMgmts:root/cimv2").ExecQuery("select Name from Win32_NetworkAdapter where (NetConnectionStatus = 2)")   

Dim commentStr

For Each objItem In colItems      

commentStr = ObjItem.Name

Do While not InStr(1, commentStr, "Juniper") > 0

If InStr(1, commentStr, "4G") > 0 then

wscript.echo "Mobile"

Else

wscript.echo "Not Mobile"

End If

Loop

Next

1 Ответ

0 голосов
/ 28 февраля 2020

Мне наконец удалось получить то, что я хотел, используя различные If, как @lankymart предложил:

Set oWsh = WScript.CreateObject("WScript.Shell")   

Set oWshSysEnv = oWsh.Environment("PROCESS")   

Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")   

Set colItems = GetObject("WinMgmts:root/cimv2").ExecQuery("select Name from Win32_NetworkAdapter where (NetConnectionStatus = 2)")   



Dim commentStr

Dim mobile

Dim Juniper



For Each objItem In colItems      

commentStr = ObjItem.Name



If InStr(1, commentStr, "Juniper") > 0 then

Juniper=1

End If

If InStr(1, commentStr, "Mobile") > 0 then

Mobile=1

End If

If InStr(1, commentStr, "HSPA") > 0 then

Mobile=1

End If


Next


If Juniper=1 And Mobile=1 then

wscript.echo "Mobile"

Else

wscript.echo "Not Mobile"

End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...