我有一个调用程序的批处理文件,但我想停止小时h 后,该程序例如我的批处理都会有这样的代码批处理文件:停止进程
@echo off
........
.......
............
call myprogram.exe
是有办法h小时后停止myprogram.exe?
我有一个调用程序的批处理文件,但我想停止小时h 后,该程序例如我的批处理都会有这样的代码批处理文件:停止进程
@echo off
........
.......
............
call myprogram.exe
是有办法h小时后停止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和Windows 7 (和,我会假设运8)
尝试使用批处理文件taskkill:
taskkill /IM myprogram.exe
至于它已经运行小时h后停止程序,我不知道如何来调用。如果你有特定的时间想要停止它,你可以使用像Windows计划任务一样简单的事情。
否则,您可以尝试使用像FireDaemon这样的服务管理应用程序将myprogram.exe设置为Windows服务,并将其安排在h小时后关闭。不幸的是,FireDaemon不是免费的,但它肯定会胜任这项任务。
这将是容易得多,假设你使用Vista或以上
start myprogram.exe
timeout /t 3600
taskkill /im myprogram.exe /f
只需用您的时间延迟(以秒为单位)替换3600
即可。
这不会工作,例如,如果我打电话myprogram.exe它不会执行这个之后的其他命令,直到myprogram.exe停止 – Leo92
使用'开始myprogram.exe' - 这将继续执行程序启动后的批处理文件。你实际上必须指定'/ W'或'/ WAIT'来让它暂停,直到程序结束 – SeanC
现在谢谢你的意思,干杯 – Leo92