用于关闭cmd中的程序的计时器

Yon*_* HA 3 cmd timer batch-file

我想创建一个启动程序的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
Run Code Online (Sandbox Code Playgroud)

我发现当我花费少量时间时效果很好.像10秒钟.但是当我放入3600或更多时,它并没有正确地杀死Program_B.bat.

而如果我为了设置48小时而放置172800秒,则无效.

我该如何处理这些问题?

Ste*_*han 5

杀死只是cmd.exe可能杀死窗户,你不想杀死.
您可以为应用程序提供一个唯一的标题,并通过该标题将其删除.
另外要解决超时的100000秒限制,只需在循环中超时一小时:

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