%ERRORLEVEL%的批处理文件循环问题

时间:2013-07-04 11:14:51

标签: batch-file

@echo off
:sleep
tasklist /FI "imagename eq mspaint.exe"
if %ERRORLEVEL% NEQ 0 goto again
if %ERRORLEVEL% EQU 0 goto sleep
:again
echo "Hurray"
PAUSE
exit

当mspaint打开时,循环按预期继续执行,但是当我关闭mspaint时,而不是获得回声“Hurray”。我不断收到消息:

INFO : No Tasks are running that match the specified criteria
INFO : No Tasks are running that match the specified criteria

我该如何解决这个问题?我的要求是运行安装程序并检查进程是否存在,一旦结束批处理文件继续进行并执行安装后的任务。

1 个答案:

答案 0 :(得分:0)

谢谢Ken,我是论坛的新手,因此慢慢达到规则。 解决方案:我在经过一些打击和试验后实现了这一目标。

:sleep
ping -n 5 127.1.1.0 >nul
tasklist /v /fi "imagename eq mspaint.exe" | find /I /N "mspaint.exe"
if %ERRORLEVEL% EQU 0 goto sleep

** mspaint批处理文件的剩余代码已关闭** 另外** ping语句是一个等待5秒的穷人代码