BATCH Ejecutar programa X tiempo si no se esta ejecutando SOLUCIONADO

Iniciado por Synth3tik0, 7 Marzo 2011, 16:28 PM

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

Synth3tik0

Quiero hacer un pequeño script q cheque  cada X tiempo si el proceso esta activo
y si no que lo ejecute de nuevo. Se me a ocurrido esto:

Código (dos) [Seleccionar]
@echo off

:TIMER

Timeout /t 60 /nobreak >nul

set /p calc.exe=calc.exe
set /p calc1.exe=| tasklist | findstr calc.exe

if %calc.exe% == %calc1.exe% GOTO :TIMER
if not %calc.exe% == %calc1.exe% start calc.exe

GOTO:TIMER


Pero no logro hacer q funcione si alguien pudiera decirme que esta mal
o me dijeran al menos como paso la salida de la busqueda de findstr a una variable?
..........

SuperDraco

#1
Prueba con este mio:

Código (dos) [Seleccionar]
:Ocultar
@echo off
title=Chequeador
nircmd win hide ititle "Chequeador" (ESTA LÍNEA ES OPCIONAL, CLARO... XD)


:Comprobar
tasklist /FI "IMAGENAME eq calc.exe" | findstr PID >nul
IF %ERRORLEVEL% LEQ 0 Ping -n 5 localhost >nul & goto :Comprobar
IF NOT %ERRORLEVEL% LEQ 0 start /b c:\"windows\system32\calc".exe & Ping -n 5 localhost >nul & goto :Comprobar


Probado y funciona :P
No he vuelto, solo estoy de paso.

Synth3tik0

 ;-)genial ;D Funcionaa thanks..

Pero tengo una duda en Ping -n 5 localhost son milisegundos o segundos?
..........

SuperDraco

No he vuelto, solo estoy de paso.

leogtz

Código (perl) [Seleccionar]

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

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

recari19833

Amigos esto si funciona pero por ejemplo si el el programa esta en (NO RESPONDE) este batch funciona de todos modos??? agradeceria su respuesta