Risposte:
C'è un pausecomando che fa proprio questo, anche se non è specificamente il tasto Invio.
Se vuoi davvero aspettare solo il tasto Invio, puoi usare il setcomando per chiedere l'input dell'utente con una variabile fittizia, qualcosa del tipo:
set /p DUMMY=Hit ENTER to continue...
pauseil comando è quello che stai cercando. Se stai guardando SOLO il caso quando premi il tasto Invio puoi abusare del runascomando:
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 pausecomando, esempio:
dir
pause
echo Now about to end...
pause
pauseinfatti è l'unica risposta valida per MS-DOS(tutte le altre risposte funzionano cmdsolo). 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, è CHOICEpossibile utilizzare quasi tutti i tasti EXCEPTimmessi
Se ti stai davvero riferendo a ciò che Microsoft insiste nel chiamare "Prompt dei comandi" che è semplicemente un emulatore MS-DOS, allora forse TIMEOUTpotrebbe adattarsi al tuo scopo ( timeout /t -1aspetta 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.