【发布时间】:2010-10-15 12:37:32
【问题描述】:
我有以下windows批处理代码:
for %%i in (iidbms iigcc iigcd dmfacp dmfrcp rmcmd qwerty) do (
tasklist | findstr /i %%i
echo %errorlevel%
if %errorlevel% == 0 (echo %%i ok process found %errorlevel%)
if %errorlevel% == 1 (echo %%i no process found %errorlevel%)
)
但它并没有像我预期的那样工作。
所有名称进程iidbms、iigcc、iigcd、dmfacp、dmfrcp, rmcmd 是真实的,并且它们是被发现的,而 qwerty 是一个发明的,不应该找到它,所以应该打印 " no process found 1",但不是,它总是打印 0。
但我注意到的是,如果我在 dos 提示符下运行 tasklist | findstr /i qwerty,则紧随其后的是 %errorlevel% = 1。
什么样的答案可能或更好?
【问题讨论】:
标签: windows batch-file errorlevel