Ayuda con mi script (.bat)

Iniciado por poumas1, 13 Febrero 2012, 04:55 AM

0 Miembros y 2 Visitantes están viendo este tema.

poumas1

Hola, soy nuevo en este foro y espero que me ayuden con este simple codigo.
Resulta que juego un videojuego un tanto viejo que tiene un problema con el explorador de windows 7. Asi que cuando quiero jugar finalizo el explorer.exe y me dispongo a jugar, cuando termino activo el explorer.exe

Hize esto:

@echo on
taskkill /f /im explorer.exe
cd C:\Program Files (x86)\Microsoft Games\Age of Empires II\age2_x1
start age2_x1.exe
:timer
   tasklist >> archivo.txt
   findstr "age2_x1.exe" archivo.txt >> papa.txt
   for %%A in (papa.txt) do set size=%%~zA
   if %size% equ 0   goto end
   erase papa.txt
   erase archivo.txt
goto timer
:end
erase papa.txt
erase archivo.txt
explorer.exe
exit

Lo explico...mato explorer.exe, inicio el juego, inicia un ciclo, mando la salida del comando tasklist a archivo.txt, mando la salida del comando findstr buscando que este activo el juego a papa.txt, luego le asigno a size el tamaño de papa.txt, si es cero significa que el juego no esta en ejecucion y debe ir a end, en la parte de end elimino los archivos y ejecuto el explorer.exe, si el juego se encuentra en ejecucion borro los archivos y reinicio el ciclo.

Y esto me funciona solo cuando juego por 5 minutos. Cuando juego 2 horas al momento de cerrar el juego en lugar de que se restaure el windows, abre un navegador de la carpeta principal y no me restaura tal y como estaba antes de ejecutar el bat.

Ojala y me puedan ayudar. Sorry si se ve feo, es que soy nuevo.

RyogiShiki

#1
No se mucho de batch, pero ya pregunte esto una vez =p así que creo que esto podría funcionar. Si no es así ya alguien me corregirá XD

Código (DOS) [Seleccionar]
taskkill /f /im explorer.exe
start /wait C:\Program Files (x86)\Microsoft Games\Age of Empires II\age2_x1\age2_x1.exe
explorer.exe


Lo pregunté aquí: http://foro.elhacker.net/empty-t324077.0.html

Saludos


Eleкtro

#2
EDITO: El code de RyogiShiki funcionará siempre y cuando el juego esté programado para mandar la señal de "Fin" al cerrar el juego, y no al finalizar de abrirlo.
No se explicarlo mejor, por ejemplo: "Start /W explorer & pause"  "Pause" se ejecutará cuando el explorer finalize de abrirse, no de cerrarse. pues a eso me refiero, eso depende de cada aplicación...

Pero prueba ese antes que el mio, está más simplificado. Recuerda usar las comillas dobles.




Tu code no puede funcionar, ni a 5 minutos ni en 2 horas xD

No estás usando comillas dobes en la ruta, Así que no puede acceder a esa ruta... (CD)

Y redireccionas mucho, no hace falta eso, aunque bueno, estás aprendiendo :P

Código (dos) [Seleccionar]
@Echo OFF
taskkill /f /T /im "explorer.exe"
start /B C:\Program" Files (x86)\Microsoft Games\Age of Empires II\age2_x1\age2_x1.exe"
Ping -n 5 Localhost >NUL

:Timer
Tasklist /FI "Imagename eq age2_x1.exe" | Find "age2_x1.exe" >NUL
If NOT %Errorlevel% EQU 0 (Start /B Explorer && Exit) ELSE (Ping -n 5 Localhost >NUL & Goto :Timer)



Salu2.








poumas1

:) muchas gracias a los 2, me sirvio lo de RyogiShiki... :D, que solucion tan sencilla.

Probé con el tuyo EleKtro H@cker pero no me funcionó. GRACIAS

RyogiShiki

Cita de: poumas1 en 14 Febrero 2012, 02:21 AM
:) muchas gracias a los 2, me sirvio lo de RyogiShiki... :D, que solucion tan sencilla.

Probé con el tuyo EleKtro H@cker pero no me funcionó. GRACIAS

Por nada. Me alegra que se te haya solucionado el problema.

Saludos


poumas1

Cita de: RyogiShiki en 14 Febrero 2012, 02:29 AM
Por nada. Me alegra que se te haya solucionado el problema.

Saludos
:silbar: xd no funciona. Cuando juego por un rato al cerrar el juego en lugar de restaurar bien el explorador, solo abre una ventana de documentos. >:(
Estupido explorador, gracias. De todas formas investigue y hay un parche para que el juego funcione al 100%. Gracias