CheckProcess
Dieses kleine Script erwartet als Startparameter einen Prozessnamen.
Solange dieser Prozess läuft, wartet die Routine in einem Loop. Erst wenn der Prozess beendet ist, beendet sich auch das Script.
Ich habe dieses Script erstellt, um einen Kontrollmechanismus zu ermöglichen für automatische Installationen, die aus einer Batchdatei heraus gestartet werden. Man könnt jetzt auch sagen, dafür gibt es doch auch Tools wie tlist.exe, aber hier spielt wohl auch der persönliche Ehrgeiz eine Rolle... :-)
Hier kommt der Code :
option explicit
on error resume next
Dim WShell, strComputer, objWMIService, colitems, objItem
Dim PID, oargs, ra
set oArgs=wscript.Arguments
if oArgs.Count <1 then
wscript.echo VBCRLF & "! FEHLER !" & VBCRLF & "! Fehlender Parameter !"
wscript.quit
End if
Set WShell = CreateObject("WScript.Shell")
strComputer = "."
Do
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_process where name =" & "'" & oargs(0) & "'")
PID = 0
For Each objItem in colItems
ra = objItem.Caption
if Instr(0, ra, oargs(0)) then
PID = objItem.ProcessId
WScript.Sleep 2500
End If
Next
Loop while pid > "0"
wscript.quit