我有以下 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。
但我注意到的是,如果我tasklist | findstr /i qwerty
从 dos 提示符运行,就在%errorlevel%
= 1 之后。
什么样的答案可能是或更好的是?