1

我有一个调用程序的批处理文件,但我想在小时后停止该程序,例如我的批处理将包含此代码

@echo off
........
.......
............
call myprogram.exe

有没有办法在小时后停止 myprogram.exe ?

4

3 回答 3

3
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)

于 2012-06-27T20:54:22.270 回答
2

这会容易得多,假设您使用的是 Vista 或更高版本

start myprogram.exe
timeout /t 3600
taskkill /im myprogram.exe /f

只需3600用您的时间延迟(以秒为单位)替换。

于 2012-06-29T15:43:37.390 回答
0

尝试在批处理文件中使用taskkill :

taskkill /IM myprogram.exe

至于在程序运行小时后停止程序,我不知道如何调用它。如果您想在某个特定时间停止它,您可以使用像 Windows 计划任务这样简单的东西。

否则,您可以尝试使用FireDaemon 之类的服务管理应用程序将 myprogram.exe 设置为 Windows 服务,并将其安排为在小时后关闭。不幸的是,FireDaemon 不是免费的,但它肯定能胜任这项任务。

于 2012-06-27T19:58:10.930 回答