我想创建一个启动程序的bat文件(实际上是另一个bat)并在一段时间后关闭程序。
我的程序是这样的。
-In'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。
如果我为了设置48小时而放置172800秒,那么它就不起作用。
我该如何处理这些问题?
答案 0 :(得分: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"