Como atrasar ou aguardar um comando para executar um processo em um arquivo em lote do Windows

Um arquivo de lote é um script que automatiza processos no sistema operacional Windows. Além disso, um arquivo de lote é um arquivo de texto simples que contém uma série de comandos executados sequencialmente, uma linha de cada vez.

Os arquivos em lote são comumente usados para executar tarefas repetitivas ou tediosas, como copiar arquivos, iniciar programas ou executar outros scripts.

file batch wait

Para criar um arquivo em lote no Windows, você pode usar qualquer editor de texto, como o Bloco de Notas. Depois de escrever o comando que deseja executar, você precisa salvar o arquivo com a extensão .bat. Em seguida, você pode executar o arquivo em lote clicando duas vezes nele.

Quando o arquivo Batch é executado, ele não espera que o processo de comando termine para executar o próximo comando; em vez disso, ele executa todos os comandos linha por linha. É importante fazer com que esses comandos esperem até que o processo seja concluído antes de executar o próximo comando.

Há várias maneiras simples de atrasar ou aguardar a conclusão de um processo antes de executar o próximo comando em seu arquivo em lote.

Comando  “/WAIT” para aguardar a conclusão do processo

Ao iniciar um programa em um arquivo de lote usando o comando “START”, é possível adicionar  “/wait” para aguardar a conclusão do processo. Embora existam muitos comandos, o  “/wait” pode aguardar a conclusão de cada comando antes de passar para o próximo.

O argumento “/B” pode executar o mesmo processo sem abrir uma nova janela. START sem o argumento /B iniciará o aplicativo ou o comando em uma nova janela.

Exemplo de espera pela conclusão de um processo antes de executar o próximo 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

Um exemplo de execução do aplicativo notepad que abrirá o aplicativo mspaint quando o notepad for fechado.

@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 Run Command then end

cmd /k Run Command and then return to the CMD prompt.

Comando “Timeout” para atrasar em segundos

Você pode usar o comando “timeout” para fazer uma pausa de alguns segundos ou para que o usuário pressione um botão antes de prosseguir para o próximo comando.

Por exemplo, para aguardar 30 segundos antes de executar o próximo comando.

/t 30 timeout

Um exemplo é aguardar 30 segundos e impedir que o usuário interrompa a pausa com pressionamentos de teclas.

timeout /t 30 /nobreak

Um exemplo é esperar que o usuário pressione um botão antes de executar o próximo comando.

timeout /t -1

Comando “Pause” para aguardar que o usuário pressione o botão

Para suspender o arquivo em lote até que o usuário pressione o botão, use o comando “pause. Esse comando direto não requer sinal e pode ser usado em qualquer lugar do seu script para aguardar que o usuário pressione o botão.

Quando o comando “pause” for executado, o usuário verá “Pressione qualquer tecla para continuar . . . na tela.

Você pode usar “pause” logo antes da linha de comando que não deseja processar, antes que o usuário pressione qualquer tecla.

ARTIGOS RELACIONADOS

Últimos artigos