批处理文件:停止进程

时间:2012-06-27 19:09:39

标签: batch-file

我有一个调用程序的批处理文件,但我希望在h小时后停止此程序 例如,我的批次将具有此代码

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

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

3 个答案:

答案 0 :(得分: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)

答案 1 :(得分:2)

假设您使用Vista或以上

,这将更容易
start myprogram.exe
timeout /t 3600
taskkill /im myprogram.exe /f

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

答案 2 :(得分:0)

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

taskkill /IM myprogram.exe

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

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