VBS:终止多个正在运行的应用程序

Ric*_*ick 1 vbscript vba

我试图使用以下VBS脚本同时关闭多个应用程序,但我0x80041017For Each循环线上得到错误.它只使用一个应用程序,但我添加了另一个应用程序终止

strComputer = "."
strProcessToKill1 = "Acrobat.exe" 
strProcessToKill2 = "iexplore.exe" 

Set objWMIService = GetObject("winmgmts:" _
                & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Set colProcess = objWMIService.ExecQuery _
                ("Select * from Win32_Process Where Name = '" & strProcessToKill1 & "' or '" & strProcessToKill2 & "'")


count = 0
For Each objProcess in colProcess
                objProcess.Terminate()
                count = count + 1
Next 
Run Code Online (Sandbox Code Playgroud)

Fin*_*ink 5

您的WMI查询无效,导致循环失败.您需要为WHERE子句的后半部分指定列(名称).我也会删除objProcess.Terminate呼叫的括号.

strComputer = "."
strProcessToKill1 = "Acrobat.exe" 
strProcessToKill2 = "iexplore.exe" 

Set objWMIService = GetObject("winmgmts:" _
                & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Set colProcess = objWMIService.ExecQuery _
                ("Select * from Win32_Process Where Name = '" & strProcessToKill1 & "' OR Name = '" & strProcessToKill2 & "'")


count = 0
For Each objProcess in colProcess
                objProcess.Terminate
                count = count + 1
Next 
Run Code Online (Sandbox Code Playgroud)