Cómo retrasar o esperar a que un comando ejecute un proceso en un archivo por lotes de Windows

Un archivo por lotes es un script que automatiza los procesos en el sistema operativo Windows.  Además, un archivo por lotes es un archivo de texto simple que contiene una serie de comandos ejecutados secuencialmente, una línea a la vez.

Los archivos por lotes se usan comúnmente para realizar tareas repetitivas o tediosas, como copiar archivos, iniciar programas o ejecutar otros scripts.

file batch wait

Para crear un archivo por lotes en Windows, puede usar cualquier editor de texto, como el Bloc de notas. Después de escribir el comando que desea ejecutar, debe guardar el archivo con la extensión de archivo .bat. A continuación, puede ejecutar el archivo por lotes haciendo doble clic en él.

Cuando se ejecuta el archivo por lotes, no espera a que finalice el proceso de comando para ejecutar el siguiente comando, sino que ejecuta todos los comandos línea por línea.  Es importante hacer que esos comandos esperen hasta  que se complete  el proceso  antes  de ejecutar el siguiente comando.

Hay varias formas sencillas de retrasar o esperar a que finalice un proceso antes de ejecutar el siguiente comando en el archivo por lotes.

 Comando «/WAIT» para esperar a que finalice el proceso

Al iniciar un programa en un archivo por lotes utilizando el comando  «START», puede agregar  «/ wait» para esperar a que se complete el proceso. Aunque hay muchos comandos,  «/wait» se puede usar para esperar a que finalice cada comando antes de pasar al siguiente comando.

El argumento «/B» se puede utilizar para ejecutar el mismo proceso sin abrir una nueva ventana. START sin el argumento /B iniciará la aplicación o el comando en una nueva ventana.

Ejemplo de esperar a que finalice un proceso antes de ejecutar el siguiente comando

@echo off
echo starting first program.
START /B /WAIT cmd /c "D:\first_script.bat"
echo The first script is executed successfully.
START /B /WAIT cmd /c "D:\second_script.bat"
echo The second script is executed successfully.
cmd /k

Un ejemplo de ejecución de la aplicación de bloc de notas que abrirá la aplicación mspaint  cuando se cierra el bloc de notas.

@echo off
echo starting first program.
START /B /WAIT notepad.exe
echo The first program is executed successfully.
START /B /WAIT mspaint.exe
echo The second program is executed successfully.
cmd /k

cmd /c Ejecutar comando y luego finalizar

cmd /k Ejecutar comando y, a continuación, vuelva al símbolo del sistema CMD.

Comando «Timeout» para retrasar en segundos

Puede usar el comando «tiempo de espera» para pausar durante unos segundos o  el usuario presiona un botón antes de pasar al siguiente comando.

Ejemplo para esperar 30 segundos antes de ejecutar el siguiente comando.

timeout /t 30

Un ejemplo para esperar 30 segundos y evitar que el usuario detenga la pausa con pulsaciones de teclas.

timeout /t 30 /nobreak

Un ejemplo para esperar a que el usuario presione un botón antes de ejecutar el siguiente comando.

timeout /t -1

Comando «Pausa» para esperar a que el usuario presione el botón

Para suspender el archivo por lotes hasta que el usuario toque el botón, use el comando » pausa. Este comando directo no requiere ningún signo y se puede usar en cualquier parte del script para esperar a que el usuario presione el botón.

Cuando se ejecuta el comando «pausa», el usuario verá «Presione cualquier tecla para continuar. . . » en la pantalla.

Puede usar «pausa» justo antes de la línea de comandos que no desea procesar antes de que el usuario presione cualquier tecla.

ARTÍCULOS RELACIONADOS

Artículos más recientes