Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: luiservv en 7 Septiembre 2010, 22:45 pm



Título: [batch] pausa fija
Publicado por: luiservv en 7 Septiembre 2010, 22:45 pm
Ola amigos soy nuevo en el foro   :) estuve leyendo los tutoriales y me surgio una duda ¿como hago para pausar mi batch por un tiempo fijo determinado? estuve viendo que se usa un truco con ping pero no me convencio, y estuve buscando y encontre un aplicacion timeout que ya viene con windows y te permite hacer la pausa asi

Código:
timeout 10 /nobreak

donde 10 son los segundos.

que opinan de este metodo lo podre usar sin problemas?


Título: Re: [batch] pausa fija
Publicado por: flony en 8 Septiembre 2010, 13:02 pm
timeout no parece un comando interno o sea que venga con windows....otra forma pero mas complicadita seria
****usar el comando time
****usar extraccion de caracteres y que sean variables
****sumar el tiempo que quieras

pero bue es la primera vez que escucho del timeout


Título: Re: [batch] pausa fija
Publicado por: Novlucker en 8 Septiembre 2010, 13:38 pm
Código
  1. echo wscript.sleep 10000 > %temp%\pause.vbs
  2. start /wait %temp%\pause.vbs

Saludos


Título: Re: [batch] pausa fija
Publicado por: luiservv en 8 Septiembre 2010, 18:55 pm
Gracias por las ideas, flony lo de timeout lo tengo en mi windows 7 pero ya le encontre un problema, no se como hacer para que espere en milisegudos (osea menos de un segundo) :¬¬ lo de el vbs seria una solucion muy practica pero no me termina de convencer deberia de haber una solucion mas sencilla  :rolleyes: aunque solucionara lo de los milisegundos.

voy a probar hacer algo con el comando time  ;)

Por si estan interesados les dejo la ayuda del timeout

Código:
TIMEOUT [/T] tiempo_espera [/NOBREAK]

Descripción:
    Esta utilidad acepta un parámetro de tiempo de espera para esperar el
    un período de tiempo determinado (en segundos) o hasta que se presiona
    alguna tecla. También acepta un parámetro para omitir la presión de tecla.

Lista de parámetros:
    /T   tiempo_espera     Especifica el número de segundos que hay
                           que esperar.
                           El intervalo válido es de -1 a 99999 segundos.

    /NOBREAK               Omite las presiones de tecla y espera el tiempo
                           especificado.

    /?                     Muestra este mensaje de ayuda.

NOTA: un valor de tiempo de espera -1 significa esperar indefinidamente
una presión de teclado.

Ejemplos:
    TIMEOUT /?
    TIMEOUT /T 10
    TIMEOUT /T 300 /NOBREAK
    TIMEOUT /T -1

Gracias por las ideas otra vez



Título: Re: [batch] pausa fija
Publicado por: Aiouek en 12 Septiembre 2010, 19:58 pm
Buenas, milisegundos nose....pero aunque para apuros hazte un ping ati mismo  :laugh:
Código:
ping -n 10 127.0.0.1 > null
Donde 10 son los segundos.

Saludos


Título: Re: [batch] pausa fija
Publicado por: flony en 13 Septiembre 2010, 00:42 am
a ver Aiouek el tema del ping...es una aproximacion a un segundo eso depende de otros factores no es exacto y no volvi a responder porque creo que a milisegundo no llegamos con bat...pero bue si haces un cronometro se entiende...ahora para hacer una pausa dejando que algo mas se ejecute o para volver a iniciar una accion no creo relevante hacer con milisegundos con una aproximacion a segundo alcanza y sobra


Título: Re: [batch] pausa fija
Publicado por: aaronduran2 en 13 Septiembre 2010, 02:44 am
http://foro.elhacker.net/scripting/libreria_de_funciones_y_scripts_batch_actualizado_260507-t163184.0.html;msg1031748#msg1031748

Timeout viene por defecto en Windows 7, por lo que acabo de ver.

Un saludo.


Título: Re: [batch] pausa fija
Publicado por: fary en 13 Septiembre 2010, 21:35 pm
Prueba con Sleep de VBS como te indico Novlucker.

salu2!


Título: Re: [batch] pausa fija
Publicado por: Komodo en 13 Septiembre 2010, 22:45 pm
Te recomiendo yo también el Sleep en un VBS, creado desde tu script.

PD: Gracias por enseñarnos lo de timeout, y yo creo que si te mola timeout deberias usarlo, eso si, solo sirve en W7 ;)


Título: Re: [batch] pausa fija
Publicado por: maxx93 en 13 Septiembre 2010, 23:43 pm
Puedes usar el comando sleep.
Sleep Segundos
ej. sleep 5

Aca posteé un comando para reemplazar al ping y al sleep, se llama espera xD
http://foro.portalhacker.net/index.php/topic,117058.0.html (http://foro.portalhacker.net/index.php/topic,117058.0.html)

Código
  1. @echo off
  2. if x%1x==xx (goto :ayuda)
  3. set tiempo=%1
  4. call:verif >nul 2>&1
  5. goto:veriff
  6. :verif
  7. set /a ver=0x%tiempo%
  8. goto:eof
  9. :veriff
  10. if %errorlevel% neq 0 (goto :ayuda)
  11. set /a tiempoo=%tiempo%+1
  12. call:code %tiempo% >nul 2>&1
  13. goto:eof
  14.  
  15. :code
  16. set /a tiempoterm=%time:~0,2%*3600+%time:~3,2%*60+%time:~6,2%+%tiempo%
  17. set /a hs=%tiempoterm%/86399
  18. set d=%date:~0,2%
  19. :ini
  20. set /a tiempoact=%time:~0,2%*3600+%time:~3,2%*60+%time:~6,2%
  21. if %d% neq %date:~0,2% (
  22. set /a tiempoterm=%hs%*-86399+%tiempoterm%
  23. set d=%date:~0,2%
  24. if %hs% leq 0 (set /a hs=%hs%-1))
  25. if %tiempoterm% geq %tiempoact% (goto :ini)
  26. goto:eof
  27.  
  28. :ayuda
  29. echo Espera. Inserta una pausa de n segundos
  30. echo Creado por maxx93
  31. echo Sintaxis:
  32. echo Espera Segundos
  33. echo Ej.: Espera 777
  34. goto:eof
  35.  
Guardalo como espera.bat en %windir%. Luego lo podes usar como cualquier comando =)
Salu2.


Título: Re: [batch] pausa fija
Publicado por: xassiz~ en 14 Septiembre 2010, 00:12 am
Guardalo como espera.bat en %windir%. Luego lo podes usar como cualquier comando =)
Querrás decir en system32 :rolleyes:


Título: Re: [batch] pausa fija
Publicado por: aaronduran2 en 14 Septiembre 2010, 00:33 am
Se puede guardar en la carpeta de Windows que funcionará igualmente.


Título: Re: [batch] pausa fija
Publicado por: xassiz~ en 14 Septiembre 2010, 00:48 am
Se puede guardar en la carpeta de Windows que funcionará igualmente.
Eso depende como tengas configurado el PATH


Título: Re: [batch] pausa fija
Publicado por: maxx93 en 14 Septiembre 2010, 03:06 am
En la mayoria de los pc funciona en %windir% si alli no te funciona guardalo en %windir%\system32  :)
Salu2.