Hacer una pausa en un fichero por lotes batch (bat o cmd)

En consola de Windows (antiguamente Ms-Dos) desde siempre se ha podido hacer una pausa, esperando confirmación del usuario.

El comando en cuestión es:

pause

Si escribimos pause en nuestra consola veremos que la consola se queda pausada hasta que pulsamos una tecla. Esto es útil en ficheros batch (ya sean .bat o .cmd) para hacer pausas controladas entre distintos comandos, a la espera que el usuario pulse alguna tecla para continua.

Pero, ¿qué ocurre si queremos una pausa de cierto número de segundos y luego continúe el proceso automáticamente?

No hay ningún comando que lo haga, pero haciendo el siguiente “truco” (hace un ping a una URL especificando el número de segundos como timeout) lo podremos conseguir

ping -n 10 localhost > null

Simplemente cambiar el 10 por el número de segundos que queráis, y ya tendréis en consola (o msdos) una pausa de N segundos, y luego el proceso continuará automáticamente.

 

Anuncios

5 comentarios sobre “Hacer una pausa en un fichero por lotes batch (bat o cmd)

  1. Gracias por tu aporte, en mi caso con “null” funciona correctamente (Windows 7), no obstante está bien saber que si da problemas se puede solucionar usando “nul”.

  2. Microsoft Windows [Versión 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.

    C:UsersAdministrador>timeout /?

    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

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s