$1 的 Windows 类似物(最后启动进程的 PID)

$1 的 Windows 类似物(最后启动进程的 PID)

如何使用 WScript.Shell 或类似程序获取上次启动的进程的 Windows PID?

我知道如何启动一个进程并获取其 PID:

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

现在的问题是该程序是另一个批处理(或可能是 VBScript)。该批处理启动一个我想要获取其 PID 的真实程序。

在 Linux(shell 脚本)上,这很容易做到。只需pid=$!

但是在 Windows 上我能做什么呢?

答案1

我认为 Windows 中没有与 $! 等效的词。

如果您希望检索第三个进程的 PID,可以使用 WMI 进行搜索。可以找到一个示例这里(仅搜索并显示信息)或这里(搜索并终止该进程)。

如果不知道第三个名称的可执行文件,您可能需要使用Job 对象它将多个进程分组到一个对象中。你可以轻松地一次性杀死所有进程终止作业对象

微软快速概览或StackOverflow 上的这个问题

但是,我不知道这些方法是否可以从 VBScript 中使用。

相关内容