Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: BALTA00 en 4 Marzo 2014, 08:15 AM

Título: Abrir proceso cada vez que se cierre
Publicado por: BALTA00 en 4 Marzo 2014, 08:15 AM
Buenas, tengo un bot que hace ciertas cosas de manera automática en una página, luego de el bot repetir 200 acciones se cierra por ser la versión free, yo quisiera que a penas se cierre, se vuelva a abrir de manera automática.

El bot se ejecuta mediante un archivo .bat, que en su contenido tiene lo siguiente:
CitarAMF_YT_bot.exe example.ini 10

mientras el bot está activo, el proceso que abre es "AMF_YT_bot.exe" ¿Puedo hacer algo para que abra el archivo "AMF_YT_bot.bat cada vez que detecte que el proceso "AMF_YT_bot.exe" está cerrado?
Título: Re: Abrir proceso cada vez que se cierre
Publicado por: Eleкtro en 4 Marzo 2014, 10:27 AM
Puedes hacerlo de la siguiente manera:

Cita de: http://foro.elhacker.net/scripting/script_batch_que_no_se_cierra_estilo_saw-t409335.0.html;msg1922316#msg1922316@Echo OFF & TITLE Unclosable-Script

:: By Elektro


REM La ubicación del script temporal que servirá como monitorizador de este script.
Set "MonitorFilepath=%TEMP%\CMDMonitor.cmd"

REM Si no existe el script monitor, lo creo y lo ejecuto...
If Not exist "%MonitorFilepath%" (
Call :StartMonitorScript "%~0"
)


REM Ya estamos listos para jugar.
Echo Intenta cerrarme! :D   | MORE
Echo Intento de cierres: %1 | MORE
Pause&Exit



REM Métodos
:StartMonitorScript
(
Echo @Echo OFF ^& Title CMD Monitor
Echo REM El resultado del monitor. ^(0=False, 1=True^)
Echo Set /A "ProcessIsTerminated=0"
Echo Set /A "ClosingCount=0"
Echo+
Echo :MonitorLoop
Echo CMDOW.exe ^| Find /I "Unclosable-Script" ^&^& ^(
Echo Set /A "ProcessIsTerminated=0"
Echo ^) ^|^| ^(
Echo Set /A "ProcessIsTerminated=1"
Echo   Set /A "ClosingCount+=1"
Echo ^)
Echo+
Echo If %%ProcessIsTerminated%% EQU 1 ^(
Echo Start "Reinitialize Unclosable-Script" CMD.exe /K %* %%ClosingCount%%
Echo ^)
Echo+
Echo Ping.exe -n 2 LocalHost 1^>NUL
Echo Goto :MonitorLoop
)>"%MonitorFilepath%"

(
Echo WScript.CreateObject^("WScript.Shell"^).Run """%MonitorFilepath%""", 0, False
)>"%MonitorFilepath%.vbs"

Start /B "Run Hidden" WScript.exe "%MonitorFilepath%.vbs"

Goto:EOF

Saludos
Título: Re: Abrir proceso cada vez que se cierre
Publicado por: BALTA00 en 4 Marzo 2014, 16:01 PM
Muchas gracias amigo, aunque no entendí muy bien como usarlo, pero intenté este código:
Citar
Código (dos) [Seleccionar]
:Ocultar
@echo off
title=Chequeador


:Comprobar
tasklist /FI "IMAGENAME eq AMF_YT_bot.exe" | findstr PID >nul
IF %ERRORLEVEL% LEQ 0 Ping -n 5 localhost >nul & goto :Comprobar
IF NOT %ERRORLEVEL% LEQ 0 start /b C:\Pohmeliy_Scripts\AMF_YT_bot\AMF_YT_bot.bat & Ping -n 5 localhost >nul & goto :Comprobar
y me funcionó muy bien :)