J'ai le code batch Windows suivant :
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%)
)
Mais cela ne fonctionne pas comme je m'y attends.
Tous les processus nommés iidbms, iigcc, iigcd, dmfacp, dmfrcp, rmcmd sont réels, et ils sont trouvés, tandis que qwerty est inventé et ne devrait pas être trouvé, donc devrait afficher "no process found 1", mais ce n'est pas le cas, il affiche toujours 0.
Cependant, j'ai remarqué que si je lance tasklist | findstr /i qwerty
depuis l'invite de commandes DOS, juste après cela, le %errorlevel%
est égal à 1.
Quelle sorte de réponse pourrait être ou est meilleure ?