如何使用 WScript.Shell 或類似工具取得最後啟動程序的 Windows PID?
我知道如何啟動一個進程並獲取其 PID:
Set oExec = WshShell.Exec( program )
Set pid = oExec.ProcessID
現在的問題是該程式是另一個批次(或者可能是 VBScript)。該批次啟動一個我想要獲取 PID 的真實程式。
在 Linux(shell 腳本)上這很容易做到。只是pid=$!
但在 Windows 上我能做什麼呢?
答案1
我認為沒有相當於$!在 Windows 中。
如果您希望檢索第三個進程的 PID,可以使用 WMI 進行搜尋。可以找到這樣的例子這裡(僅搜尋並顯示資訊)或這裡(搜尋並終止進程)。
如果第三個名稱的可執行檔未知,您可能需要使用作業對象它將多個進程分組為一個物件。你可以輕鬆地一次殺死所有的人終止作業對象。
看微軟軟體定義網絡快速概覽或StackOverflow 上的這個問題。
但是,我不知道這些方法是否可以在 VBScript 中使用。