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?
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
Muchas gracias amigo, aunque no entendí muy bien como usarlo, pero intenté este código:
Citar: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 :)