ayuda cuenta atras en batch

Iniciado por darkirax, 16 Diciembre 2008, 15:33 PM

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

darkirax

Hola he visto que hay un tema abierto parecido pero no soluciona mi duda por eso abro uno de nuevo. Mi problema es que quiero hacer un pequeño batch que me habra una url la cierre espere x minutos i vuelva a empezar. Lo de abrir cerrar i el bucle esta claro pero no se como se tiene que hacer para que espere x minutos ( o segundos).

Alguien me podria explicar?

gracias

Novlucker

CitarHola he visto que hay un tema abierto parecido pero no soluciona mi duda por eso abro uno de nuevo
Creo que no has revisado bien  :rolleyes:

Librería de funciones y scripts BATCH<---click
En la misma página tienes dos funciones SLEEP  :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

darkirax

#2
jaja gracias justo ahora lo acabo de encontrar

pero alguien me podria poner un ejempo de como utlizar esta funcion??

:sleep
:: Sintaxis:
:: call:sleep [-s/-m]


  • para que quede claro si alguien no entide lo que quiero hacer:

    start www.unawebqualquiera.com
    taskkill /f /im firefox.exe
    aqui quiero que el programa espere 2H
    i luego que vuelva a empezar(poniendo un bucle)

Novlucker

Es una función que debes de incluír en tu code, luego le pasas como parámetro el -s y el número de segundos a esperar.

Si lo que buscas es parar la ejecución durante dos horas te recomiendo agregar una tarea programada con el comando AT, un bucle durante ese tiempo consume muchos recursos  :-\

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

leogtz

Aqui esta un ejemplo de uso de la funcion, tienes que entender como trabaja el call.
@echo off
call :sleep 4
rem Aqui va tu demas codigo!
msg * Adios

:SLEEP
if "%1"=="" (goto :eof)
set /a limit=0
set /a limit=%1
if %limit% LEQ 0 (goto :eof)
set /a cont=0
:time
set mirror1=%time:~-4,1%
:increment
set mirror2=%time:~-4,1%
if not %mirror2%==%mirror1% (goto count)
goto increment
:count
set /a cont +=1
if "%cont%"=="%limit%" (goto :eof)
goto time
goto :eof
Código (perl) [Seleccionar]

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

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

darkirax

bueno he provado otra manera de hacer qu que espere un tiempo antes de continuar pero no se porque no me funciona correctamente. el codigo es:

:BUCLE
start www.webqualquiera.com
ping -w 10000 127.0.0.1>nul
taskkill /f /im firefox.exe
goto BUCLE

si no lo entendi mal esto tendria de eperar 10 segundos antes de cerrar el firefox no?
alguna idea de porque no espera los 10 segundos?(uso vista no se si esto influye)

corax

#6
En todo caso sería:

ping -n 10 localhost>nul

Creo yo, vamos...



De todas maneras lo mejor que puedes hacer es usar el código de Leo, ya que no depende de un programa externo como es el ping.exe
Nuestro idioma ha tardado 12 siglos en llegar hasta hoy día. Tú tan sólo tardas 20 segundos en escribir un post: no destroces en tan poco tiempo lo que tantos siglos ha costado crear.