pkill {
if $com(a) { .comclose a }
if $com(b) { .comclose b }
if $com(c) { .comclose c }
.comopen a WbemScripting.SWbemLocator
if !$comerr {
.comclose a $com(a,ConnectServer,3,dispatch* b)
if $com(b) {
if $0 { var %b = SELECT Name FROM Win32_Process WHERE Name = $+(",$1,") }
else var %b = SELECT * FROM Win32_Process
.comclose b $com(b,ExecQuery,3,string,%b,dispatch* c)
}
if $com(c) {
!.echo -q $com(c,Count,3)
var %i = 1, %a = $com(c).result
if !$0 { echo -ac info $+(*,$chr(160)) Listing processes ... }
while (%i <= %a) {
if $0 { !.echo -q $comval(c,%i,Terminate) }
else echo -ac info -> $comval(c,%i,Name) $iif($comval(c,%i,ExecutablePath),$+($chr(40),$ifmatch,$chr(41)))
inc %i
}
if !$0 { echo -ac info $+(*,$chr(160)) /END of listing. }
}
.comclose c
}
}