Windows-Analogon zu $1 (PID des zuletzt gestarteten Prozesses)

Windows-Analogon zu $1 (PID des zuletzt gestarteten Prozesses)

Wie gelangt man mit WScript.Shell oder Ähnlichem unter Windows an die PID des zuletzt gestarteten Prozesses?

Ich weiß, wie man einen Prozess startet und seine PID erhält:

Set oExec = WshShell.Exec( program )
Set pid = oExec.ProcessID

Das Problem ist nun, dass das Programm ein weiterer Batch ist (oder VBScript sein könnte). Der Batch startet ein echtes Programm, dessen PID ich gerne erhalten würde.

Unter Linux (Shell-Skript) ist dies sehr einfach.pid=$!

Aber was kann ich unter Windows tun?

Antwort1

Ich glaube, dass es in Windows kein Äquivalent zu $! gibt.

Falls Sie die PID des dritten Prozesses abrufen möchten, können Sie mit WMI danach suchen. Ein Beispiel hierfür finden Sie unterHier(nur Suchen und Anzeigen der Informationen) oderHier(Suchen und Beenden des Prozesses).

Wenn die ausführbare Datei mit dem dritten Namen nicht bekannt ist, können Sie eineAuftragsobjektdas mehrere Prozesse in einem Objekt zusammenfasst. Und man könnte sie alle auf einmal beenden mitTerminateJobObject.

SehenMSDNfür einen schnellen Überblick oderdiese Frage auf StackOverflow.

Ich weiß jedoch nicht, ob diese Methoden von VBScript aus verwendet werden können.

verwandte Informationen