Risposte:
C'è un pause
comando che fa proprio questo, anche se non è specificamente il tasto Invio.
Se vuoi davvero aspettare solo il tasto Invio, puoi usare il set
comando per chiedere l'input dell'utente con una variabile fittizia, qualcosa del tipo:
set /p DUMMY=Hit ENTER to continue...
pause
il comando è quello che stai cercando. Se stai guardando SOLO il caso quando premi il tasto Invio puoi abusare del runas
comando:
runas /user:# "" >nul 2>&1
lo schermo verrà congelato fino a quando non viene premuto Invio. Ciò che mi piace di più set/p=
è che se si premono pulsanti diversi da Enter non verranno visualizzati.
Puoi farlo con il pause
comando, esempio:
dir
pause
echo Now about to end...
pause
pause
infatti è l'unica risposta valida per MS-DOS
(tutte le altre risposte funzionano cmd
solo). Quindi, la tua risposta è in realtà l'unica completamente corretta per questa domanda speciale (anche se era già stata suggerita più di 7 anni prima)
A seconda del sistema operativo in uso, se si è flessibili, è CHOICE
possibile utilizzare quasi tutti i tasti EXCEPT
immessi
Se ti stai davvero riferendo a ciò che Microsoft insiste nel chiamare "Prompt dei comandi" che è semplicemente un emulatore MS-DOS, allora forse TIMEOUT
potrebbe adattarsi al tuo scopo ( timeout /t -1
aspetta su qualsiasi tasto, non solo ENTER
) e ovviamente CHOICE
è di nuovo disponibile nelle recenti edizioni WIN.
E un avvertimento su SET /P
: mentre set /p DUMMY=Hit ENTER to continue...
funzionerà,
set "dummy="
set /p DUMMY=Hit ENTER to continue...
if defined dummy (echo not just ENTER was pressed) else (echo just ENTER was pressed)
rileverà se è stato digitato solo ENTER o qualcos'altro, terminando con ENTER.
set /p=Hit ENTER to continue...
o semplicementeset /p=
se non è necessario un prompt.