如何使批处理文件在Windows进程终止时执行操作?

ryoqjall  于 12个月前  发布在  Windows
关注(0)|答案(1)|浏览(113)

我用一个批处理文件启动了一个特定的程序,它在1秒内触发了一系列非常短的进程,我想把我的动作绑定到的进程几乎立即开始,然后终止,它持续了几毫秒。现在,我的动作在这个过程开始的确切时刻执行。我通过应用一个循环来实现:

start ProgramX.exe

:search
        tasklist | find "ProcessA.exe"
        if errorlevel 1 goto search

"execute action N"

什么是最好的方法,使我的批处理文件执行一个行动的确切时刻,当这个进程结束,而不是?由于我怀疑“行动N”可能会干扰“ProcessA.exe”,但我不希望任何延迟,我需要的行动被执行在确切的时刻当这个进程被终止.
对不起,我只是一个初学者,我无法找到一个明确的答案,我的问题。有一个/wait命令,但它只在之前有一个start命令时使用,到目前为止我找不到其他命令。
谢谢你,谢谢!

更新:

我想通了。必须这样:

start ProgramX.exe

:search
tasklist | find "ProcessA.exe"
if errorlevel 1 goto search

:search1
tasklist | find "ProcessA.exe" > nul
if errorlevel 1 (
    "execute action N" 
) else (
    goto search1
)

这样操作N在我运行ProgramX.exe之后执行,然后ProcessA.exe开始和结束,它正好发生在ProgramX.exe终止的时刻。我测试了一下,它按预期工作。
感谢所有回应的人,我真的很感激!

lvjbypge

lvjbypge1#

start /wait ProgramX.exe
rem "execute action N"

相关问题