locked
poner tiempo de espera en un bat RRS feed

  • Spørgsmål

  • Buenas.

    Recuerdo que en msdos existia el programa 'sleep' que permitia esperar X segundos en un script o en un bat. ¿cómo puedo hacer esto en Windows 7 o en Vista?.  No encuentro como hacerlo.

    Muchas gracias.
    16. september 2009 18:21

Svar

  • Hola, jm,, y puedo ejecutar este ping pero que yo vea el contador?
    que se vea el:
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1

    sera que si ??
    NA
    Pues si, ejecuta: (en un .bat)

    @echo off
    setlocal enabledelayedexpansion
    set /a j=10
    for /L %%i in (1,1,%j%) do (
        ping -n 2 localhost>nul
        set /a k=!j!-%%i+1
        echo !k! 
    )


    Esto hace al pie de la letra lo que has pedido... pero supongo que quieres otra cosa, ... comentame...

    Untitled 1

    Jose Manuel Tella Llop news://jmtella.com

    • Markeret som svar af raul.mh 17. september 2009 18:11
    16. september 2009 22:10
  • JM, mil gracias esta muy bueno este... pero se puede que no sea de expancion... me refiero a que el 10 desaparesca y salga 9 y desaparesca 9 y aparesca 8... y asi

    como siempre,, agradecido
    NA

    Que se me ocurra, solo borrando pantalla cada vez para que lo escriba en la esquina superior izquierda... no se si te vale, es decir:

    @echo off
    setlocal enabledelayedexpansion
    set /a j=10
    for /L %%i in (1,1,%j%) do (
        set /a k=!j!-%%i+1&cls&echo !k!
        ping -n 2 localhost>nul
    )
    cls&echo 0

    comentame....
    Untitled 1

    Jose Manuel Tella Llop news://jmtella.com

    • Markeret som svar af raul.mh 17. september 2009 18:11
    17. september 2009 04:35
  • Recuerdo que en msdos existia el programa 'sleep' que permitia esperar X segundos en un script o en un bat. ¿cómo puedo hacer esto en Windows 7 o en Vista?.  No encuentro como hacerlo.

    Puedes hacerlo poniendo esta linea:

    >nul ping -n xxx localhost

    (cambia xxx por el tiempo en segundos que quiere que el .bat espere)

    Un saludo,

    Untitled 1

    Jose Manuel Tella Llop news://jmtella.com

    • Markeret som svar af raul.mh 16. september 2009 18:41
    16. september 2009 18:23
  • Lo del ping para esperar no se me había ocurrido y es totalmente lógico. Lo que no entiendo es el >nul al princpio de la linea ¿no habia que ponerlo al final para que redirigiese los mensajes de consola al dispositivo nulo?

    Si se pone al principio de la linea todos los comandos que vayan en esa linea, su salida, se redirige al dispositvo nulo. Si hay un solo comando, es lo mismo ponerlo al princpio que al final.

    Un saludo,

    Untitled 1

    Jose Manuel Tella Llop news://jmtella.com

    • Markeret som svar af raul.mh 16. september 2009 21:15
    16. september 2009 18:46

Alle besvarelser

  • Recuerdo que en msdos existia el programa 'sleep' que permitia esperar X segundos en un script o en un bat. ¿cómo puedo hacer esto en Windows 7 o en Vista?.  No encuentro como hacerlo.

    Puedes hacerlo poniendo esta linea:

    >nul ping -n xxx localhost

    (cambia xxx por el tiempo en segundos que quiere que el .bat espere)

    Un saludo,

    Untitled 1

    Jose Manuel Tella Llop news://jmtella.com

    • Markeret som svar af raul.mh 16. september 2009 18:41
    16. september 2009 18:23
  • GENIAL TÍO !!

    Lo del ping para esperar no se me había ocurrido y es totalmente lógico. Lo que no entiendo es el >nul al princpio de la linea ¿no habia que ponerlo al final para que redirigiese los mensajes de consola al dispositivo nulo?

    16. september 2009 18:43
  • Lo del ping para esperar no se me había ocurrido y es totalmente lógico. Lo que no entiendo es el >nul al princpio de la linea ¿no habia que ponerlo al final para que redirigiese los mensajes de consola al dispositivo nulo?

    Si se pone al principio de la linea todos los comandos que vayan en esa linea, su salida, se redirige al dispositvo nulo. Si hay un solo comando, es lo mismo ponerlo al princpio que al final.

    Un saludo,

    Untitled 1

    Jose Manuel Tella Llop news://jmtella.com

    • Markeret som svar af raul.mh 16. september 2009 21:15
    16. september 2009 18:46
  • Hola, jm,, y puedo ejecutar este ping pero que yo vea el contador?
    que se vea el:
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1

    sera que si ??
    NA
    16. september 2009 21:36
  • Hola, jm,, y puedo ejecutar este ping pero que yo vea el contador?
    que se vea el:
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1

    sera que si ??
    NA
    Pues si, ejecuta: (en un .bat)

    @echo off
    setlocal enabledelayedexpansion
    set /a j=10
    for /L %%i in (1,1,%j%) do (
        ping -n 2 localhost>nul
        set /a k=!j!-%%i+1
        echo !k! 
    )


    Esto hace al pie de la letra lo que has pedido... pero supongo que quieres otra cosa, ... comentame...

    Untitled 1

    Jose Manuel Tella Llop news://jmtella.com

    • Markeret som svar af raul.mh 17. september 2009 18:11
    16. september 2009 22:10
  • JM, mil gracias esta muy bueno este... pero se puede que no sea de expancion... me refiero a que el 10 desaparesca y salga 9 y desaparesca 9 y aparesca 8... y asi

    como siempre,, agradecido
    NA
    16. september 2009 22:30
  • JM, mil gracias esta muy bueno este... pero se puede que no sea de expancion... me refiero a que el 10 desaparesca y salga 9 y desaparesca 9 y aparesca 8... y asi

    como siempre,, agradecido
    NA

    Que se me ocurra, solo borrando pantalla cada vez para que lo escriba en la esquina superior izquierda... no se si te vale, es decir:

    @echo off
    setlocal enabledelayedexpansion
    set /a j=10
    for /L %%i in (1,1,%j%) do (
        set /a k=!j!-%%i+1&cls&echo !k!
        ping -n 2 localhost>nul
    )
    cls&echo 0

    comentame....
    Untitled 1

    Jose Manuel Tella Llop news://jmtella.com

    • Markeret som svar af raul.mh 17. september 2009 18:11
    17. september 2009 04:35
  • Muy buen aporte Jose Manuel.

    www.juegosred.com En la Red de Redes

    30. januar 2013 15:17
  • Muy buen aporte Jose Manuel.

    www.juegosred.com En la Red de Redes

    Por cierto, si solamente es para timeout, precisamente existe en W7 y superiores el comando timeout:

    timeout /t 60

    espera sesenta segundo a menos que pulsemos una tecla. Si queremos que la pulsación de una tecla no continúe y obligar a los 60 segundos:

    tiemout /t 60 /nobreak


    Jose Manuel Tella Llop news://jmtella.com

    30. januar 2013 17:18
  • Hola JM , me preguntaba si los números que aparezen y desaparezen se podrian colocar en el medio de la pantalla i as abajo , porfiii !!

    y tambien me preguntaba si la letra de batch s puede hacer mas grande !

    gracias !

    27. september 2014 22:55
  • esta respuesta me funciono a la perfección, tal cual lo único que hice fue ponerla al final del for, y me copia mi archivo de un lugar A  a un lugar B sin problemas.

    Adjunto mi código para mejor comprendido... ya que por motivos de desarrollo tengo que pasar mi ejecutable a otra carpeta para probar su ejecucion en desarrollos en Oracle con  Weblogic o para las otras maneras que usa forms y reports , 

    Inicio de comerciales----->

    Desarrollo proyectos en Oracle (forms &reports 11g) en Weblogic configuración del mismo junto la base Oracle 12c

    mail: servitecniec@gmail.com

    Fin de comerciales----->

    @echo off
    echo Probando

    rem esta linea es un comentario, la instruccion if es en el caso de que la
    rem carpeta no exista.

    setlocal enabledelayedexpansion
    set /a j=14400
    for /L %%i in (1,1,%j%) do (

    IF ERRORLEVEL 2 GOTO ERROR

    rem xcopy es el comando para copiar una carpeta entera
    rem copy copia un archivo

    copy C:\app_serv\pos\fuentes\formas\*.fmx C:\app_serv\pos\bin

    cd C:\app_serv\pos\fuentes\formas\
    del /f /q /S *.fmx

    ping -n 2 localhost>nul
        set /a k=!j!-%%i+1
        echo !k! 
        echo Proceso Completa


    exit

    :ERROR
    pause


    19. november 2020 02:15