我希望创建一个bat文件来启动一个程序(实际上是另一个bat文件),并在一定时间后关闭该程序。
我的程序如下:
- 在 'Program_A.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小时,它也不能正常工作。
请问如何解决这些问题?
timeout
命令有100000秒的限制。该命令本身不适用于该任务。您可以将其放入某种循环中,或尝试其他替代方法(此链接可能有所帮助,但并没有真正讨论每种方法的优缺点或限制)。 - J.Baobycmd.exe
的进程。如果真是这种情况,你需要另一种方法来找到正确的要杀死的进程。其次,根据Program_B.bat
实际执行的操作,你可能需要使用taskkill
命令的/T
选项来杀死子进程以及你想要杀死的进程(但首先确保你有正确的进程)。 - J.Baoby/F
)或强制终止(使用/F
)的可执行文件名为taskkill
,完整路径和文件名为%SystemRoot%\System32\taskkill.exe
,而不是你在批处理文件中写的tasakkill
。 - Mofi