私は次の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であるということです。
どのような答えがありますか、それ以上ですか?