timeout - Espera

Mantenido el

En un archivo por lotes, a veces es necesario esperar un tiempo determinado, como sleep o wait en otros lenguajes de programación.

Por ejemplo, puede que quieras iniciar una aplicación con el comando start y esperar unos segundos a que esté lista antes de pasar al siguiente paso.

Para esperar un tiempo determinado en el símbolo del sistema o en un archivo por lotes, se usa el comando timeout. Aquí se explica su uso, desde lo básico hasta las opciones, con ejemplos de código.

Uso básico del comando timeout

El uso del comando timeout es el siguiente:

timeout /t <segundos> [/nobreak]

La opción /t es obligatoria. Si se ejecuta sin ella, se produce el siguiente error:

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

En /t se especifica el número de segundos de espera, en el rango de -1 a 99999.

Por ejemplo, para esperar 10 segundos:

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>
timeout /t 10
Esperando 10 segundos, presione una tecla para continuar …
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

El comando timeout no siempre espera el tiempo completo.

El comportamiento correcto es «esperar el tiempo especificado si el usuario no hace nada». Aunque se especifique timeout /t 10, si el usuario pulsa una tecla, la espera termina y se ejecuta el siguiente comando.

Para desactivar este comportamiento, se usa la opción /nobreak.

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

Con /nobreak, ninguna tecla salvo Ctrl + C puede interrumpir la espera.

Al pulsar Ctrl + C se interrumpe el propio archivo por lotes (se pregunta «¿Desea terminar el trabajo por lotes (S/N)?»).

Ejemplos del comando timeout

Esperar indefinidamente hasta que el usuario actúe

Al especificar -1 en la opción /t, se espera indefinidamente hasta que el usuario pulse una tecla.

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

También es útil al final de un archivo por lotes para mantener la ventana abierta y que el usuario pueda leer el resultado.

Añadir un tiempo de espera entre comandos en un archivo por lotes

Para añadir un tiempo de espera entre comandos, se escribe lo siguiente:

@echo off
setlocal

echo Proceso 1

timeout /t 10

echo Proceso 2

endlocal

Como no se especifica /nobreak, la espera termina cuando el usuario pulsa una tecla y se ejecuta Proceso 2.

Esperar siempre el tiempo completo entre comandos

Para evitar que las teclas interrumpan la espera, se especifica la opción /nobreak.

@echo off
setlocal

echo Proceso 1

timeout /t 10 /nobreak

echo Proceso 2

endlocal

Cuando el comando timeout no funciona

El comando timeout puede fallar con el siguiente error cuando se usa redirección de entrada (por ejemplo, timeout /t 10 < input.txt) o en entornos sin entrada estándar:

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>
ERROR: No se admite la redirección de entrada, se cerrará el proceso inmediatamente.

En estos casos, se puede esperar aprovechando el tiempo de respuesta de un ping a 127.0.0.1. En -n se especifica el número de segundos de espera más 1.

ping 127.0.0.1 -n 11 > nul

Lo anterior espera unos 10 segundos.

Prueba de confirmación

Problema de práctica

¿Qué comando espera indefinidamente hasta que el usuario realice alguna acción?

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