Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: mytnick en 19 Noviembre 2009, 03:16 am



Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: mytnick en 19 Noviembre 2009, 03:16 am
Nota del mod: Tema separado desde el siguiente post
http://foro.elhacker.net/software/como_cerrar_un_programa_tras_un_tiempo_determinado-t274799.0.html

supongo que ya resolviste tu duda, pero bueno, ya que posteo y tengo por aqui algunos batch que hice hace siglos pues lo pongo :xD
Solo es necesario el archivo cerrar.bat pero si tienes el archivo hora.bat en el mismo directorio se te abrirá una pequeña ventana con la hora exacta del sistema, tan solo pones el nombre exacto del programa a cerrar y la hora exacta que quieres que se cierre.

Saludos!!

cerrar.bat
Código
  1. @echo off
  2. title Cerrar Programa - by Mytnick
  3. color 03
  4. start hora.bat
  5. mode con cols=75
  6. mode con lines=5
  7. :prog
  8. cls
  9. set /p variable2= Nombre exacto del Programa a cerrar :
  10. :clock
  11. set /p variable= Introduzca hora :
  12. if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
  13. :1
  14. taskkill /s 127.0.0.1 /f /im %variable2%
  15. goto ok
  16. :2
  17. cls
  18. if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
  19. :ok
  20. cls
  21. echo Programa cerrado!!
  22. sleep 5
  23. goto prog

hora.bat
Código
  1. @echo off
  2. title * Hora *
  3. color 0b
  4. mode con cols=16
  5. mode con lines=5
  6. :clock
  7. sleep 1
  8. cls
  9. echo %time:~0,5%:%time:~6,2%
  10. echo %date%
  11. goto clock




Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: MasterPunk en 19 Noviembre 2009, 20:09 pm
No conodco la programación de los batch.. asi que.. ¿el formato de hora es HH:MM?


Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: xkiz ™ en 19 Noviembre 2009, 21:38 pm
Citar
¿el formato de hora es HH:MM?

Sip


Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: mytnick en 20 Noviembre 2009, 01:02 am
Si, yo siempre le pongo los segundos tambien, manía  :xD

Citar
HH:MM:SS

Saludos



Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: SuperDraco en 20 Noviembre 2009, 04:36 am
si prefieres un programa en vez de un batch:

(http://www.addictivetips.com/wp-content/uploads/2009/09/Windown2_thumb.png)

http://www.addictivetips.com/windows-tips/windown-schedule-system-shutdown/
no lo he probado pero te lo dejo por ser así de simple.

y si quieres uno con muchas muchas muchas mas opciones te recomiendo el que yo uso : Marxio Timer

(http://www.marxio-tools.net/en/mt-gal/1.jpg)

está claro que estos programas cierran windows de un modo seguro (al menos el marxio) no te preocupes de perder información o algo...


Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: Bartu en 20 Noviembre 2009, 12:13 pm

cerrar.bat
Código
  1. @echo off
  2. title Cerrar Programa -  by Mytnick
  3. color 03
  4. hora.bat
  5. mode con cols=75
  6. mode con lines=5
  7. :prog
  8. cls
  9. set /p variable2= Nombre exacto del Programa a cerrar :
  10. :clock
  11. set /p variable= Introduzca hora :
  12. if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
  13. :1
  14. taskkill /s 127.0.0.1 /f /im %variable2%
  15. goto ok
  16. :2
  17. cls
  18. if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
  19. :ok
  20. cls
  21. echo  Programa cerrado!!
  22. sleep 5
  23. goto prog



Hola mytnick, en nombre exatcto del programa, pones el "nombre del prg" o el proceso, por ejemplo
set /p variable2= vlc.exe*32:
11:15:00


De ser así, no me funcionó.
¿podrías verificarme si tengo un error?

Un saludo!!!


Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: mytnick en 20 Noviembre 2009, 13:57 pm

tienes que poner el nombre del proceso.

Ejemplo:

mspaint.exe


y la hora exacta

22:35:03


Un saludo!!


Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: Bartu en 20 Noviembre 2009, 16:49 pm
Pues no se mytnick, no me funciona he puesto esto.

@echo off
title Cerrar Programa -  by Mytnick
color 03
hora.bat
mode con cols=75
mode con lines=5
:prog
cls
echo.
set /p variable2= wmplayer.exe*32 :
:15:46
echo.
set /p variable= Introduzca hora :
if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
:1
taskkill /s 127.0.0.1 /f /im %variable2%
goto ok
:2
cls
echo.
echo.
if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
goto 2
:ok
cls
echo.
echo  Programa cerrado!!
sleep 5
goto prog

pero no se cierra.
Al ejecutar el bat, se abre una mini ventana, con la hora y un texto de fondo parpadeando, dice algo de "sleep" no es un comando... programa o archivo por lotes  ejecutable


Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: MasterPunk en 21 Noviembre 2009, 00:43 am
Ami tampoco me va... debo de estar haciendo algo mal...

Bartu, creo que no pusiste la hora


Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: MasterPunk en 21 Noviembre 2009, 00:44 am
Mejor dicho, la pusiste en el sitio equivocado...


Título: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: Bartu en 21 Noviembre 2009, 04:35 am
Ami tampoco me va... debo de estar haciendo algo mal...

Bartu, creo que no pusiste la hora

Mejor dicho, la pusiste en el sitio equivocado...
Tienes razón MasterPunk

pero sigue sin funcionarme.

set /p variable2= wmplayer.exe*32 :
:clock
echo.
set /p variable= 3:34


Título: Re: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: MasterPunk en 21 Noviembre 2009, 13:51 pm
Ami tampoco me va... debo de estar haciendo algo mal...

MytNick, a ti te funciona aun?


Título: Re: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: mytnick en 21 Noviembre 2009, 16:48 pm
a ver, creo que os estais confundiendo, no teneis que modificar nada en el codigo, tan solo ejecutarlo e ingresar los datos que os pida.

creais los 2 batch con el codigo tal como está,sin modificar nada.
y ejecutais el archivo cerrar.bat

os pedirá el nombre del proceso y la hora exacta.


Saludos



Título: Re: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: MasterPunk en 21 Noviembre 2009, 17:00 pm
Oh! ok

lo voy a probar ahoramismo


Título: Re: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: MasterPunk en 21 Noviembre 2009, 17:15 pm
Ambos bat son (aparentemente) iguales, y no pide insertar hora ni nombre del programa:

(http://img524.imageshack.us/img524/2500/hora.png)

Mestra la hora y la fecha. Esta última intermitentemente.

EDITO:

Encontré el problema. No me deja tener ambos batch. Encuanto borré hora.bat el otro se mostró como describiste


Título: Re: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: mytnick en 21 Noviembre 2009, 17:36 pm
resolviste el problema??

al ejecutar cerrar.bat debe aparecer así:

(http://data6.blog.de/media/719/4129719_ab5ece7bbb_l.png)

Saludos!!




Título: Re: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: MasterPunk en 21 Noviembre 2009, 18:17 pm
mas o menos...

he conseguido que cerrar.bat sea así borrando hora.bat, pero no se porqué si existe hora.bat, cerrar.bat se combierte en hora.bat (no se si me he explicado bien)


Título: Re: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: mytnick en 21 Noviembre 2009, 22:34 pm
en la cuarta línea del archivo cerrar.bat fijate que ponga:

start hora.bat

creo que con eso se resuelve el problema

ya me cuentas

Saludos


Título: Re: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: MasterPunk en 21 Noviembre 2009, 22:53 pm
pero, realmente no hace falta el rchivo hora.bat, ¿no?
Con saber la hora que es basta...


Título: Re: Cerrar un programa tras un tiempo determinado [batch]
Publicado por: mytnick en 21 Noviembre 2009, 23:38 pm
claro, no es necesario, es solo una pequeña utilidad  :xD