batch file - segundos - Pausa del archivo por lotes de MS-DOS con la tecla Intro
programacion batch (3)
¿Es posible en el archivo por lotes de MS-DOS pausar el script y esperar a que el usuario presione la tecla Entrar?
Deseo hacer esto dentro de un bucle for. Después de cada iteración, quiero que el script se detenga y espere a que el usuario presione ''Enter''
Dependiendo del sistema operativo que esté utilizando, si es flexible, entonces se puede usar CHOICE
para esperar casi cualquier tecla EXCEPT
ingresar
Si realmente se está refiriendo a lo que Microsoft insiste en llamar "Símbolo del sistema" que es simplemente un emulador de MS-DOS, quizás TIMEOUT
se ajuste a su propósito ( timeout /t -1
espera en cualquier tecla, no solo ENTER
) y por supuesto CHOICE
está disponible de nuevo en las últimas ediciones de WIN.
Y una advertencia en SET /P
- mientras que set /p DUMMY=Hit ENTER to continue...
funcionará,
set "dummy="
set /p DUMMY=Hit ENTER to continue...
if defined dummy (echo not just ENTER was pressed) else (echo just ENTER was pressed)
detectará si se ingresó simplemente ENTER o alguna otra cosa, terminando con ENTER.
pause
command es lo que estás buscando. Si busca SOLAMENTE el caso cuando se pulsa enter, puede abusar del comando runas
:
runas /user:# "" >nul 2>&1
la pantalla se congelará hasta que se presione enter. Lo que me gusta más que set/p=
es que si presiona otros botones antes de ingresar, no se mostrarán.
Hay un comando de pause
que hace precisamente eso, aunque no es específicamente la tecla Intro.
Si realmente desea esperar solo la tecla Intro, puede usar el comando set
para solicitar la entrada del usuario con una variable ficticia, algo como:
set /p DUMMY=Hit ENTER to continue...