Adicione linhas no lote com modificações (ou seja, defina um novo valor para a variável) após a pausa e continue o lote
Estou ciente de que posso interromper um arquivo de lote em execução com o comando Crtl-C e continuar a execução.
No entanto, é possível executar um comando no ambiente cmd do arquivo de lote enquanto o lote é pausado?
Por exemplo, talvez eu queira pausar um lote em execução, alterar algumas variáveis que ele definiu anteriormente e continuar a execução.
Este código permitirá executar comandos arbitrários a partir do contexto do lote: Coloque um arquivo em lote e brinque com ele.
@echo off
:loop
set cmd=
set /p "cmd=Please give command, empty line to finish "
if defined cmd (
call %cmd%
goto loop
)
Para terminar de executar os comandos, basta pressionar Enter
Para usá-lo no seu lote, basta inserir uma linha com a chamada acima:
do stuff
do more stuff
call interrupt_me.bat
do even more stuff
Se você quer saber por que há um call %cmd%
em vez de %cmd%
direto - ele permite expandir as variáveis passadas para que comandos como echo %comspec%
funcionem corretamente.