timeout - Espera

En ocasiones, al utilizar archivos por lotes, es necesario esperar durante un tiempo determinado. Por ejemplo, si desea escribir un archivo por lotes que copie un archivo y espere hasta que se complete la copia. En esta página, se explica de manera clara y sencilla cómo esperar durante un tiempo determinado en la línea de comandos y en los archivos por lotes con el comando timeout, desde el uso básico hasta cómo configurar las opciones.

Uso básico del comando timeout

Para implementar un proceso de espera durante un tiempo determinado en la línea de comandos, se utiliza el comando timeout.

Se utiliza cuando se desea establecer un tiempo de espera entre dos comandos consecutivos que se ejecutan en una secuencia en un archivo por lotes.

La sintaxis del comando timeout es la siguiente:

timeout /t <segundos a esperar> [/nobreak]

El comando timeout requiere la especificación de opciones y si se ejecuta sin ellas, se producirá un error como se muestra a continuación.

×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>
timeout
Error: Sintaxis no válida.
Escriba “TIMEOUT /?” para ver la sintaxis correcta.

Para usar el comando timeout, funciona especificando la opción /t y el número de segundos a esperar.

Por ejemplo, si desea esperar 100 segundos, use el siguiente comando.

×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>
timeout /t 100
Esperando 100 segundos. Presione una tecla para continuar …

Es posible que haya notado que el comando timeout no siempre espera exactamente el tiempo especificado.

La operación correcta es “esperar el tiempo especificado si el usuario no realiza ninguna operación”.

Por lo tanto, incluso si especifica timeout /t 100, el usuario puede interrumpir el tiempo de espera ingresando una tecla.

Para desactivar esta función, especifique la opción /nobreak.

×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>
timeout /t 100 /nobreak
Esperando 100 segundos. Presione CTRL+C para salir …

Al especificar esto, el usuario no puede interrumpir el tiempo de espera ingresando una tecla.

Sin embargo, si presiona la tecla Ctrl + C, la ejecución del archivo por lotes también se detendrá.

Ejemplos con el comando timeout

Esperar indefinidamente hasta que el usuario realice una acción

Puede esperar indefinidamente hasta que el usuario realice una acción especificando -1 en la opción /t.

×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>
timeout /t -1
Pulse una tecla para continuar…

Establecer un tiempo de espera entre procesos en un archivo por lotes

Si desea establecer un tiempo de espera entre procesos en un archivo por lotes, puede hacerlo de la siguiente manera:

@echo off
setlocal

echo Proceso 1

timeout /t 100

echo Proceso 2

endlocal

En el caso anterior, no se especificó la opción /nobreak, por lo que el tiempo de espera se puede interrumpir por la acción del usuario.

Establecer un tiempo de espera entre procesos en un archivo por lotes

Para evitar interrupciones en el tiempo de espera, especifique lo siguiente:

@echo off
setlocal

echo Proceso 1

timeout /t 100 /nobreak

echo Proceso 2

endlocal

Prueba de confirmación

Problema de práctica

¿Cuál de las siguientes opciones es el comando que espera indefinidamente hasta que el usuario realice una acción?

回答がサーバーに送信されることはありません
#Línea de comandos #Archivos por lotes #Argumentos #Línea de comandos #Comando