Respostas:
Há um pausecomando que faz exatamente isso, embora não seja especificamente a tecla Enter.
Se você realmente deseja esperar apenas a tecla Enter, poderá usar o setcomando para solicitar entrada do usuário com uma variável dummy, algo como:
set /p DUMMY=Hit ENTER to continue...
pausecomando é o que você está procurando. Se você estiver procurando APENAS o caso quando enter for pressionado, poderá abusar do runascomando:
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 pausecomando, exemplo:
dir
pause
echo Now about to end...
pause
pausede fato, é a única resposta válida para MS-DOS(todas as outras respostas estão funcionando cmdapenas). 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, CHOICEpoderá ser usado para aguardar praticamente qualquer tecla EXCEPTdigitada
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 TIMEOUTseja adequado ao seu objetivo ( timeout /t -1aguarda 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.