0

我正在尝试创建一个批处理脚本,该脚本将首先启动 apache 网络服务器,然后将 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 首先关闭。有任何想法吗?

4

1 回答 1

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命令替换它)。

但是,我认为您最好使用更通用的脚本语言。

于 2013-08-06T19:17:39.730 回答