batch-file - 在cmd中关闭程序的计时器

标签 batch-file cmd timer

我想制作一个 bat 文件来启动一个程序(实际上是另一个 bat)并在一定时间后关闭该程序。

我的程序是这样的。

-在“Program_A.bat”中

@echo off
set /p sec="Enter the amount of sec you want to run : "

start Program_B.bat

timeout /t %sec%

tasakkill /F /IM cmd.exe

我发现当我投入很少的时间时它效果很好。像 10 秒。
但是当我放 3600 或更多时,它不会正确杀死 Program_B.bat。

如果我将 172800 秒设置为 48 小时,则它不起作用。

我该如何处理这些问题?

最佳答案

杀只是cmd.exe可能会杀死您不想杀死的 window 。
你可以给你的应用程序一个唯一的标题,然后用这个标题杀死它。
同样要解决 100000 秒的超时限制,只需在循环中超时一小时:

start  "UniqueTitle" Program_B.bat
for /l %%a in (1,1,48) do timeout 3600 >nul
taskkill /fi "windowtitle eq UniqueTitle"

关于batch-file - 在cmd中关闭程序的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44623749/

相关文章:

windows - “无法将X识别为内部或外部命令,可操作程序或批处理文件”的原因是什么?

windows - 如何使批处理文件全屏显示?

batch-file - 如何在批处理脚本中用双引号分隔

c - 如何在Windows上安装Xlib(eclipse、c语言)

windows - 有没有办法获取所有已安装程序的安装路径?

java - 如何设置ServerSocket等待Client Socket连接的时间限制

c - C中的定时器模拟?

batch-file - 根据 json 文件中的键提取特定字符串

for-loop - 单行语句:%% i 'unexpected at this time'

php - 定时脚本 PHP