我想制作一个 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/