我有一个调用程序的批处理文件,但我想在小时后停止该程序,例如我的批处理将包含此代码
@echo off
........
.......
............
call myprogram.exe
有没有办法在小时后停止 myprogram.exe ?
我有一个调用程序的批处理文件,但我想在小时后停止该程序,例如我的批处理将包含此代码
@echo off
........
.......
............
call myprogram.exe
有没有办法在小时后停止 myprogram.exe ?
REM delay for 36000 seconds (10 hours)
FOR /l %%a in (36000,-1,1) do (Echo closing in %%as&ping -n 2 -w 1 127.0.0.1>NUL)
REM delete the program using it's PID
FOR /f "tokens=2" %a in ('tasklist ^| find "notepad.exe"') do tskill %a
使用 ping 意味着它可以在 XP、Vista 和 7 中运行(我假设是 Win 8)
这会容易得多,假设您使用的是 Vista 或更高版本
start myprogram.exe
timeout /t 3600
taskkill /im myprogram.exe /f
只需3600
用您的时间延迟(以秒为单位)替换。
尝试在批处理文件中使用taskkill :
taskkill /IM myprogram.exe
至于在程序运行小时后停止程序,我不知道如何调用它。如果您想在某个特定时间停止它,您可以使用像 Windows 计划任务这样简单的东西。
否则,您可以尝试使用FireDaemon 之类的服务管理应用程序将 myprogram.exe 设置为 Windows 服务,并将其安排为在小时后关闭。不幸的是,FireDaemon 不是免费的,但它肯定能胜任这项任务。