,我有以下窗口批處理代碼:ERRORLEVEL在for循環(批量窗口)
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是發明之一,不應該找到它,所以應該打印「沒有過程發現1」,但它不,它總是打印0.
但我所指出的是,如果我運行tasklist | findstr /i qwerty
來自dos提示符,就在%errorlevel%
= 1之後。
什麼樣的答案可以是或更好的是?
我有相反的順序(第1再0),但resul是一樣的 – aemme 2010-10-15 13:18:34
如果你沒有改變發佈的代碼,那麼你需要在錯誤級別1之後跳轉到下一條語句,或者改變你的條件(使用NEQ等)。 – JRL 2010-10-15 13:21:13
一些例子...? – aemme 2010-10-15 13:34:44