batch-file
Añadir retraso al archivo por lotes
Buscar..
Introducción
Este tema le enseñará una de las muchas cosas útiles que debe saber en el lenguaje de scripting, archivo por lotes; Agregar un retraso / pausa / tiempo de espera a su archivo por lotes.
Se acabó el tiempo
Se acabó el tiempo
La forma más sencilla de hacer una demora o pausa durante un cierto tiempo, es con el comando estándar TIMEOUT . Para hacer un tiempo de espera que dura exactamente un minuto escribimos:
timeout /t 60
Ahora, ¿qué está pasando aquí?
En primer lugar, usamos el comando TIMEOUT con el parámetro /T (que simplemente significa tiempo de espera) y luego especificamos la cantidad de segundos a esperar. En este caso ... 60 segundos.
Timeout con el parámetro / NOBREAK
Si tomamos el ejemplo de antes y lo ejecutamos en un archivo BATCH: timeout /t 60 y mientras espera esos 60 segundos, realmente puede interrumpir el timeout presionando cualquier tecla del teclado. Para evitar esto, simplemente agregamos el parámetro /NOBREAK al final del mismo.
timeout /t 60 /nobreak
Al hacer esto, tendrá un tiempo de espera de 60 segundos y, si desea interrumpir el tiempo de espera, deberá presionar (CTRL-C) en el teclado.
Tiempo de espera silencioso
Cuando está haciendo un tiempo de espera se mostrará:
Waiting for X seconds, press a key to continue ...
or
Waiting for X seconds, press CTRL+C to quit ... [This is with the /NOBREAK parameter]
Para ocultar el mensaje, use el argumento NUL (Para la explicación de NUL : haga clic aquí )
timeout /t 60 > nul
or
timeout /t 60 /nobreak > nul
Pausa
Para hacer que su script se detenga, simplemente use el comando PAUSE .
PAUSE
Esto mostrará el texto Press any key to continue . . . A continuación, agregue una nueva línea en la entrada del usuario.
Digamos que queremos crear un programa "Hello World" y después de hacer clic en algo en nuestro teclado, queremos que salga del programa con el comando EXIT .
echo Hello World
pause
exit
Aquí usa el comando ECHO para decir "Hola Mundo". Luego usamos el comando PAUSE que muestra Press any key to continue . . . y luego usamos el comando EXIT para terminar la secuencia de comandos BATCH actual.
Cuando está en pausa se mostrará:
Press any key to continue . . .
Ocultar el mensaje "Presione cualquier tecla para continuar ...
Para ocultar el mensaje, redirigimos la salida a un dispositivo especial llamado nul . Esto no es realmente un dispositivo real, pero todo lo que le enviemos se desecha.
pause > nul
Silbido
Silbido
Uno de los comandos más utilizados para demorar durante cierto tiempo es hacer ping .
Uso básico
PING -n 1 -w 1000 1.1.1.1
REM the -n 1 flag means to send 1 ping request.
REM the -w 1000 means when the IP(1.1.1.1) does not respond, go to the next command
REM 1.1.1.1 is an non-existing IP so the -w flag can ping a delay and go to next command
Esto generaría lo siguiente en su archivo / consola por lotes:
C:\Foo\Bar\Baz>ping -n -w 1000 1.1.1.1
Pinging 1.1.1.1 (Using 32 bytes of data)
Request timed out
Ping statistics for 1.1.1.1
Packets: Sent = 2,Received = 0, Lost = 1(100% loss)
Ocultar el texto con eco
Simplemente agregue >nul en la parte posterior del comando para redirigirlo a nulo.
ping -n w 1000 1.1.1.1 >nul
Esto no produciría nada.
Dormir
Dormir
En sistemas Windows más antiguos, el timeout no está disponible. Sin embargo, podemos usar el comando sleep .
Uso
sleep 1
Muy autoexplicativo; dormir durante 1 segundo. Sin embargo, sleep modo de espera es un comando deperactado y debe reemplazarse por el tiempo de espera .
Disponibilidad
Este comando está disponible en el antiguo sistema de Windows. También SLEEP.exe se incluye en 2003 Resource Kit.
Para usar sleep.exe , coloque el archivo ejecutable en la carpeta %Windir%\System32 . Entonces puedes usarlo como comando normal.