Bueno, vi un code que usaba errorlevel para saber si un proceso esta abierto o no.
yo siempre use esto:
:Task
for /f "Tokens=1" %%p in ('tasklist') do ( if "%%p"=="%1" ( set %2=Si & GoTo:Eof ) else ( set %2=No)) & GoTo:Eof
( Call:Task Proceso.exe variable )
Pero me gustaria saber como es con %errorlevle%, si alguien me lo explica, porque la otra vez no lo entendi.
Yo veo mas facil hacer algo como esto :
@ECHO OFF
TASKLIST | FIND /I "%1" > NUL 2>&1 && (
ECHO PROCESO ENCONTRADO!
) || (
ECHO PROCESO NO ENCONTRADO!
)
PAUSE>NUL
ó
@ECHO OFF
WMIC PROCESS GET NAME | FIND /I "%1" && (
ECHO.SI
) || (
ECHO.NO
)
PAUSE>NUL
Y para los que quieran ejecutarlo directamente
@ECHO OFF
SET /P p="Proceso a buscar: "
TASKLIST | FIND /I "%p%" 2>NUL >NUL && (
ECHO El proceso %p% se esta ejecutando
) || (
ECHO El proceso %p% no se encuentra en ejecucion
)
PAUSE>NUL&&GOTO:EOF
Saludos