在批处理文件中跟踪PID并在PID关闭时关闭cmd

3

我有一个批处理文件,可以在命令行中启动默认浏览器打开HTML文件:

start filename.html

我希望找到一种方法来查找生成进程(如firefox、ie、chrome)的ID并跟踪PID,以便在进程完成时关闭cmd窗口。基本上,该过程应该是这样的:启动HTML,找到最后一个生成进程的PID,监视PID,当PID关闭时-CMD将退出。我尝试搜索了解此问题,并找到了一种查找进程pid的方法,但不知道如何跟踪直到退出。是否可能在BAT文件中实现此操作?任何帮助都会很好。谢谢!

问题在于你无法确保默认的网络浏览器会以新进程打开 html 文件,而不是重用现有进程并在其中添加一个新选项卡或新窗口。这通常涉及启动一个新进程(您的进程),它与现有进程通信并发送所需的数据来管理请求,并且新启动的进程(您的进程)结束时,所有 html 文件的加载都留给旧进程。新实例已经结束但文件仍在旧实例中打开。 - MC ND
start /WAIT filename.html ? - Alex K.
@AlexK.,我也曾经这样想(并评论过),直到我第一次打开浏览器窗口然后运行命令。 - MC ND
1个回答

0
start filename.html
exit

试试这个。但是我知道的是,一旦进程完成,命令提示符会自动关闭。

或者,您可以直接运行文件而不打开cmd黑色窗口,尝试以下脚本,将其保存为example.vbs,并将testing替换为您的批处理文件名,然后运行此example.vbs文件而不是批处理文件。

Set oShell = CreateObject ("Wscript.Shell") 
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接