[Solucionado] [Batch] Necesitaría saber el error del código.

Iniciado por sabeeee, 22 Julio 2011, 22:06 PM

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

sabeeee

Bueno, a duras penas y con ayuda de @Francisasdasd pude hacer este código que rastrea si esta abierto el GTA San Andreas u otro juego y cierra el explorer y si no esta abierto el GTA, abre el explorer comprobando que no este abierto para no tener problemas y  luego se reinicia el código con un goto; necesitaría su ayuda para poder repararlo porque no me funciona, este es el pequeño código:

:1
tasklist | find /I "gta_sa.exe"
if %errorlevel%==0 (
TASKKILL /F /IM explorer.exe
goto 1
) else (
for /F %%a in ('tasklist') do (
IF %%a==explorer.exe (goto 1)
)
goto 1


Saludos y gracias por leer.
"Vengándose, uno iguala a su enemigo; perdonando, uno se muestra superior a él."
Francis Bacon

leogtz

No entiendo la parte esta:

Citary si no esta abierto el GTA, abre el explorer comprobando que no este abierto para no tener problemas y  luego se reinicia el código con un goto

¿De qué sirve abrir el explorer? ¿Cómo comprobar con el explorer que no esté corriendo el proceso?

Código (dos) [Seleccionar]
@echo off
:loop
tasklist | find /i "gta_sa.exe" && (
taskkill /f /im explorer.exe
goto:loop
)


Otra cosa que no entiendo es ¿por qué matas el explorer en vez de matar el proceso de GTA?
Código (perl) [Seleccionar]

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

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

sabeeee

Cita de: Leo Gutiérrez. en 22 Julio 2011, 22:35 PM
No entiendo la parte esta:

¿De qué sirve abrir el explorer? ¿Cómo comprobar con el explorer que no esté corriendo el proceso?

Código (dos) [Seleccionar]
@echo off
:loop
tasklist | find /i "gta_sa.exe" && (
taskkill /f /im explorer.exe
goto:loop
)


Otra cosa que no entiendo es ¿por qué matas el explorer en vez de matar el proceso de GTA?

Lo que pasa es esto, el explorer de windows 7 es bastante pesado, entonces necesito matarlo cada vez que inicio un juego, un ejemplo mas claro y preciso seria el age of empires 2 que cuando no cerras el explorer funcionan mal los colores, eso lo soluciono matando el proceso del explorer, pero como se lo estoy haciendo esto para un chico que recién ve una computadora estoy intentando hacer este código que cuando se termina el juego se le abre el explorer de nuevo automaticamente.
"Vengándose, uno iguala a su enemigo; perdonando, uno se muestra superior a él."
Francis Bacon

sabeeee

Solucionado, gracias leo por refrescarme el cerebro, este es el código como quedo (probado):
:1
tasklist | find /I "gta_sa.exe"
if %errorlevel%==0 (
TASKKILL /F /IM explorer.exe
goto 1
) else (
tasklist | find /i "explorer.exe" && (goto 1)
)
goto:1


Cierren el Tema
"Vengándose, uno iguala a su enemigo; perdonando, uno se muestra superior a él."
Francis Bacon