elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Temporizador en BATCH
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Temporizador en BATCH  (Leído 14,147 veces)
zhynar_X


Desconectado Desconectado

Mensajes: 515


Use linux my friend...


Ver Perfil WWW
Temporizador en BATCH
« en: 7 Mayo 2007, 15:54 pm »

Hola, tengo una duda, hay alguna forma en batch de hacer que cuando pasen 20 minutos por jemplo el programa haga algo??

Saludos


En línea

Me he creado un blog:
http://zhynar.blogspot.com  Aver si os gusta! ;)


Optimista es aquel que cree poder resolver un atasco de trafico tocando el claxon (Anonimo)
Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Temporizador en BATCH
« Respuesta #1 en: 7 Mayo 2007, 16:15 pm »

Aqui lo tienes, no lo he probado, asi que si tiene fallos avisa.... ;) ;)

Código:
@echo off
set man=%time:~3,2%
set /a min=%man%+20
echo %time%
echo %min%
if %min% GTR 60 (set /a min=%min%-60)
:while
Set now=%time:~3,2%
if %now% == %min% (goto accion) else (goto while)
:accion
echo Ya han pasado 20 minutos

Un Saludo.  ;)



En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
zhynar_X


Desconectado Desconectado

Mensajes: 515


Use linux my friend...


Ver Perfil WWW
Re: Temporizador en BATCH
« Respuesta #2 en: 7 Mayo 2007, 16:30 pm »

Muchas gracias por el codigo ;D

Saludos
En línea

Me he creado un blog:
http://zhynar.blogspot.com  Aver si os gusta! ;)


Optimista es aquel que cree poder resolver un atasco de trafico tocando el claxon (Anonimo)
sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Temporizador en BATCH
« Respuesta #3 en: 7 Mayo 2007, 16:43 pm »

:-/
el batch consume memoria, seria mejor usar AT, aunque ocupa tambien, no ocupa tanta :P
En línea

Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Temporizador en BATCH
« Respuesta #4 en: 7 Mayo 2007, 16:55 pm »

xDDD e comando AT es "a lo facil"....xDDD  ;D ;D

Se me habia olvidado, gracais Sir... ;) ;)
En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Re: Temporizador en BATCH
« Respuesta #5 en: 7 Mayo 2007, 18:33 pm »

Claro, por hacer se podría usar tambien el comando ping para esperar...pero lo mejor es usar AT o SCHTASKS

Aunke lo malo es que necesitas privilegios de Administrador...

Código:
@echo off
set a=0
set z=%TIME:~0,2%
if "%TIME:~0,1%"==" " set z=0%TIME:~1,1%
if "%TIME:~8,1%"=="," goto normal
if "%TIME:~10,1%"=="," goto 2caso
if "%TIME:~12,1%"=="," goto 3caso
:normal
set x=%TIME:~3,2%
set y=%TIME:~6,2%
goto a
:2caso
set x=%TIME:~4,2%
set y=%TIME:~8,2%
goto a
:3caso
set x=%TIME:~5,2%
set y=%TIME:~10,2%
:a
set errorlevel=
set /A a=%a%+1
if "%x%"=="08" set x=8
if "%x%"=="09" set x=9
set /A x=%x%+20
if %x% GTR 59 set /A x=%x%-60
at.exe %z%:%x% "archivo_que_quieras"
if %a%==11 goto b
if not %errorlevel%==0 goto a
exit
:b
set a=0
:c
set errorlevel=
set /A a=%a%+1
if %x% LEQ 9 set x=0%x%
schtasks /create /tn temp /tr "archivo_que_quieras" /sc once /st %z%:%x%:%y% /ru System
if %a%==11 goto error
if not %errorlevel%==0 goto c
exit
:error
echo "Se ha producido un error con los comandos, provando instruccion ping"
ping 127.0.0.1 -n 1200
"archivo que quieras"
exit

Este code te debería de funcionar, substitue "archivo_que_quieras" por el archivo que quieras (logico :xD ) y debería de funcionar...
Primero intenta utilizar el comando AT, despues el SCHTASKS y en caso de fallar utiza la instrucción PING para esperar los 20 minutos...

Saludos ;) ;)


Saludos
« Última modificación: 8 Mayo 2007, 15:35 pm por nhaalclkiemr » En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Temporizador en BATCH
« Respuesta #6 en: 7 Mayo 2007, 19:15 pm »

ah tienes razon nhaalclkiemr necesitas ser admin.. no habia pensado en eso..
se podria hacer mas pequeño tu codigo jeje :P, pero parece q funciona
ping es una buena opcion para emular un sleep() :P pero para este

Saludos!!
En línea

ne0x

Desconectado Desconectado

Mensajes: 270



Ver Perfil
Re: Temporizador en BATCH
« Respuesta #7 en: 7 Mayo 2007, 19:18 pm »

Aqui hay varias funciones, entre ellas la de sleep() con segundos o milisegundos.

Librería de funciones y scripts BATCH [En construccion]

http://foro.elhacker.net/index.php/topic,163184.0.html
En línea

nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Re: Temporizador en BATCH
« Respuesta #8 en: 8 Mayo 2007, 15:34 pm »

ah tienes razon nhaalclkiemr necesitas ser admin.. no habia pensado en eso..
se podria hacer mas pequeño tu codigo jeje :P, pero parece q funciona
ping es una buena opcion para emular un sleep() :P pero para este

Saludos!!

Si, weno, la verdad es que el codigo es largo pork le puse un metodo para corregir errores.

La parte del principio sirve para evitar que si un usuario tiene el formato de hora diferente del normal afecte al programa, podría hacer que no funcionara...

Despues intenta ejecutar el comando AT y se produce un error (si eres Admin o no existe AT) lo intenta con el SCHTASKS (tambien fallará si eres Administrador) y utiliza la funcion PING para esperar los 20 minutos...


Neox, he visto tus scripts y están bastante bien, hay algunos muy buenos...el de funcion SLEEP no lo prové pero por la pinta del codigo parece bueno...

Saludos ;) ;)
« Última modificación: 8 Mayo 2007, 15:36 pm por nhaalclkiemr » En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hacer temporizador para relé
Electrónica
Meta 0 5,318 Último mensaje 15 Enero 2011, 06:18 am
por Meta
Temporizador
Programación C/C++
Bledniss 4 4,930 Último mensaje 29 Abril 2011, 03:39 am
por Destro-
Temporizador en C
Programación C/C++
PeKiN 2 5,436 Último mensaje 9 Junio 2011, 21:51 pm
por PeKiN
temporizador
PHP
kakashi20 1 2,803 Último mensaje 15 Marzo 2012, 19:31 pm
por #!drvy
Duda con temporizador en C++ « 1 2 »
Programación C/C++
SrCooper 17 13,329 Último mensaje 7 Julio 2013, 12:29 pm
por SrCooper
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines