我正在尝试创建一个批处理脚本,它首先启动一个apache webserver,然后将iexplore启动到一个特定的页面。现在我想要发生的是当iexplore窗口关闭时它也会杀死apache进程。
当前批处理文件代码:
tasklist /FI "IMAGENAME eq apache.exe" 2>NUL | find /I /N "apache.exe">NUL
if "%ERRORLEVEL%"=="1" start apache.exe
start /wait iexplore http://localhost:8081/
taskkill /im apache.exe
如果我目前没有运行任何iexplore进程但是如果ie已经运行它立即关闭apache而不是等待IE先关闭,这非常有效。有什么想法吗?
答案 0 :(得分:0)
您可以循环,直到不再有iexplore.exe
个进程:
:loop
tasklist /fi "imagename eq iexplore.exe" /nh | find /i "iexplore.exe"
if %errorlevel% equ 0 (
ping -n 2 127.0.0.1 >nul
goto loop
)
ping是等待1秒再重试之前(在Win7上你可以用timeout
命令替换它。)
但是,我认为你最好使用更通用的脚本语言。