Odpowiedzi:
Jest pausepolecenie, które właśnie to robi, chociaż nie jest to konkretnie klawisz Enter.
Jeśli naprawdę chcesz poczekać tylko na klawisz Enter, możesz użyć setpolecenia, aby poprosić użytkownika o wprowadzenie danych z fikcyjną zmienną, na przykład:
set /p DUMMY=Hit ENTER to continue...
pausepolecenie jest tym, czego szukasz. Jeśli patrzysz TYLKO na przypadek, gdy zostanie naciśnięty klawisz Enter, możesz nadużyć runaspolecenia:
runas /user:# "" >nul 2>&1
ekran zostanie zamrożony do momentu naciśnięcia klawisza Enter. Bardziej podoba mi się set/p=to, że jeśli naciśniesz inne przyciski niż enter, nie zostaną one wyświetlone.
Możesz to zrobić pausepoleceniem, przykład:
dir
pause
echo Now about to end...
pause
pauserzeczywiście jest jedyną prawidłową odpowiedzią MS-DOS(wszystkie inne odpowiedzi działają cmdtylko w). Tak więc twoja odpowiedź jest właściwie jedyną całkowicie poprawną odpowiedzią na to specjalne pytanie (chociaż sugerowano to już ponad 7 lat wcześniej)
W zależności od systemu operacyjnego używasz, jeśli są elastyczne, a następnie CHOICEmogą być wykorzystane do czekać na prawie dowolny klawisz EXCEPTwprowadź
Jeśli naprawdę odnosisz się do tego, co Microsoft nalega na wywołanie „wiersza polecenia”, który jest po prostu emulatorem MS-DOS, być może TIMEOUTmoże pasować do twojego celu ( timeout /t -1czeka na dowolny klawisz, nie tylko ENTER) i oczywiście CHOICEjest ponownie dostępny w ostatnich edycjach WIN.
I ostrzeżenie SET /P- ale set /p DUMMY=Hit ENTER to continue...będzie działać,
set "dummy="
set /p DUMMY=Hit ENTER to continue...
if defined dummy (echo not just ENTER was pressed) else (echo just ENTER was pressed)
wykryje, czy wpisano tylko ENTER, czy coś innego, kończącego się na ENTER.
set /p=Hit ENTER to continue...lub po prostuset /p=nie potrzebujesz zachęty.