Errorlevel in einer For-Schleife (Batch-Fenster)

Habe ich das folgende windows-batch-code:

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%)
)

Aber es funktioniert nicht so wie ich erwarten.

Alle Namen Prozesse iidbms, iigcc, iigcd, dmfacp, dmfrcp, rmcmd sind real, und Sie werden finden, statt qwerty ist erfunden und sollte nicht finden, so sollte print " kein Prozess gefunden 1", aber es funktioniert nicht, druckt er immer 0.

Aber was ich gemerkt habe ist, dass wenn ich das tasklist | findstr /i qwerty von der dos-Eingabeaufforderung, kurz nach es ist, dass die %errorlevel% = 1.

Welche Art von Antwort könnte sein, oder besser ist?

InformationsquelleAutor der Frage aemme | 2010-10-15

Schreibe einen Kommentar