You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在目标程序关闭后自动触发运行另一个批处理文件?

实现方法

其实批处理本身就有阻塞执行的特性——当你直接在脚本里写程序的启动命令时,批处理会暂停后续代码的执行,直到这个程序完全关闭,之后才会继续往下走。刚好符合你“程序关闭后触发另一个批处理”的需求,同时控制台窗口会一直保持打开状态。

举个具体的例子:

假设你要启动的程序是myapp.exe,要调用的另一个批处理是second_script.bat,你的主批处理脚本可以这么写:

@echo off
echo 正在启动程序...
rem 直接运行程序,批处理会等待程序关闭后再执行下一行
myapp.exe
echo 程序已关闭,现在调用第二个批处理...
call second_script.bat
rem 最后可以加一行让窗口保持(如果第二个批处理执行完会退出的话)
pause

关键注意点:

  • 如果你的程序路径包含空格或者特殊字符,记得给路径加上双引号,比如:"C:\Program Files\MyApp\myapp.exe"
  • 一定要用call命令调用第二个批处理——如果直接写second_script.bat,执行完第二个脚本后会直接退出主脚本,而不会回到主脚本继续执行后续内容(如果有的话)
  • 最后加pause是为了在所有操作完成后,让控制台窗口保持打开,方便你查看执行结果;如果不需要的话可以直接去掉

如果你的需求是程序在单独窗口运行,但控制台仍保持打开,且要监听程序关闭事件,那可以用start /wait命令,效果和直接运行程序一致,还能给程序窗口自定义标题:

@echo off
start /wait "我的程序窗口" "C:\Program Files\MyApp\myapp.exe"
call second_script.bat
pause

这样程序会在独立窗口启动,批处理会一直等待它关闭,之后再执行后续的调用命令,控制台窗口全程保持打开状态。

内容的提问来源于stack exchange,提问作者aRA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:27:58