Czy w pliku wsadowym MS-DOS można wstrzymać skrypt i poczekać, aż użytkownik naciśnie klawisz Enter?
Chciałbym to zrobić wewnątrz pętli for. Po każdej iteracji chcę, aby skrypt zatrzymywał się i czekał, aż użytkownik naciśnie „Enter”
batch-file
dos
dr_rk
źródło
źródło
set /p=Hit ENTER to continue...
lub po prostuset /p=
nie potrzebujesz zachęty.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: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.źródło
Możesz to zrobić
pause
poleceniem, przykład:źródło
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 klawiszEXCEPT
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 tylkoENTER
) i oczywiścieCHOICE
jest ponownie dostępny w ostatnich edycjach WIN.I ostrzeżenie
SET /P
- aleset /p DUMMY=Hit ENTER to continue...
będzie działać,wykryje, czy wpisano tylko ENTER, czy coś innego, kończącego się na ENTER.
źródło