taskkill关闭窗口和循环过早结束

时间:2018-06-02 13:01:31

标签: batch-file cmd taskkill

我使用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窗口。这不是什么大不了的事,但过了一段时间我才打开了很多我不需要的窗户。 是否可以选择传递给taskkill来关闭窗口?

另外,我必须添加

call start_loop.bat

最后是因为经过几次循环" start_loop.bat"过早地结束了。它是保持活着的正确方法吗?有没有更好的办法?

谢谢

在评论之后编辑:

1-循环应该永远运行

2 - 它很好,粗暴地'关闭程序运行

3-批处理文件正常工作。该程序按预期被杀死,新实例按预期启动。只是cmd窗口不关闭

4- run_program.bat只使用一些选项运行program.exe,例如:

program.exe option1 option2

1 个答案:

答案 0 :(得分:0)

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

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

谢谢大家的建议