Respostas:
Há um pause
comando que faz exatamente isso, embora não seja especificamente a tecla Enter.
Se você realmente deseja esperar apenas a tecla Enter, poderá usar o set
comando para solicitar entrada do usuário com uma variável dummy, algo como:
set /p DUMMY=Hit ENTER to continue...
pause
comando é o que você está procurando. Se você estiver procurando APENAS o caso quando enter for pressionado, poderá abusar do runas
comando:
runas /user:# "" >nul 2>&1
a tela ficará congelada até que a tecla enter seja pressionada. O que eu mais gosto set/p=
é que, se você pressionar outros botões que não a tecla enter, eles não serão exibidos.
Você pode fazer isso com o pause
comando, exemplo:
dir
pause
echo Now about to end...
pause
pause
de fato, é a única resposta válida para MS-DOS
(todas as outras respostas estão funcionando cmd
apenas). Portanto, sua resposta é realmente a única completamente correta para esta pergunta especial (embora já tenha sido sugerida há mais de 7 anos)
Dependendo do sistema operacional em uso, se você for flexível, CHOICE
poderá ser usado para aguardar praticamente qualquer tecla EXCEPT
digitada
Se você está realmente se referindo ao que a Microsoft insiste em chamar de "Prompt de Comando", que é simplesmente um emulador de MS-DOS, talvez TIMEOUT
seja adequado ao seu objetivo ( timeout /t -1
aguarda qualquer tecla, não apenas ENTER
) e, CHOICE
é claro, está disponível novamente nas edições recentes do WIN.
E um aviso SET /P
- enquanto 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á se apenas ENTER ou algo mais, terminando em ENTER, foi digitado.
set /p=Hit ENTER to continue...
ou simplesmenteset /p=
se não precisar de um prompt.