Odpowiedzi:
Jest pause
polecenie, 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ć set
polecenia, aby poprosić użytkownika o wprowadzenie danych z fikcyjną zmienną, na przykład:
set /p DUMMY=Hit ENTER to continue...
pause
polecenie jest tym, czego szukasz. Jeśli patrzysz TYLKO na przypadek, gdy zostanie naciśnięty klawisz Enter, możesz nadużyć runas
polecenia:
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ć pause
poleceniem, przykład:
dir
pause
echo Now about to end...
pause
pause
rzeczywiście jest jedyną prawidłową odpowiedzią MS-DOS
(wszystkie inne odpowiedzi działają cmd
tylko 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 CHOICE
mogą być wykorzystane do czekać na prawie dowolny klawisz EXCEPT
wprowadź
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 TIMEOUT
może pasować do twojego celu ( timeout /t -1
czeka na dowolny klawisz, nie tylko ENTER
) i oczywiście CHOICE
jest 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.