Saber si un proceso esta abierto.

Iniciado por Pony-Magic, 31 Diciembre 2008, 03:00 AM

0 Miembros y 1 Visitante están viendo este tema.

Pony-Magic

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.

leogtz

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
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

-Soldier-

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