taskkill close windows 和 for 循环过早结束

taskkill close windows and for loop ending prematurely

我创建了一个带有 for 循环的批处理文件 (start_loop.bat),该循环 运行 是另一个批处理文件 (run_program.bat),并在 45 分钟后将其终止。 这是我的代码:

@echo off
FOR %%A IN (1,1,100) DO (
start run_program.bat
timeout 2700
Taskkill /IM program.exe /F
timeout 3
)
call start_loop.bat

一切正常,但 Taskkill 在终止程序后不会关闭 cmd window。这没什么大不了的,但过了一会儿,我最终得到了很多我不需要的 windows 打开。 是否可以选择传递给 taskkill 以关闭 window?

此外,我必须添加

call start_loop.bat

在最后,因为在几个循环之后 "start_loop.bat" 过早结束。这是让它存活的正确方法吗?有没有更好的办法?

谢谢

评论后编辑:

1- 循环应该 运行 永远

2-可以'brutally'关闭程序运行ning

3-批处理文件工作正常。该程序按预期被终止,并且新实例按预期启动。只是 cmd window 没有关闭

4- run_program.bat 只需 运行s program.exe 和一些选项,例如:

program.exe option1 option2

run_program.bat 末尾添加 exit 就可以了。现在 window 一旦程序被杀死就会关闭。 这是我最终使用的代码,非常适合我的应用程序:

@echo off
:Loop
start run_program.bat
timeout 2700
Taskkill /IM program.exe /F
timeout 3
goto Loop

谢谢大家的建议