Ist es in der MS-DOS-Batchdatei möglich, das Skript anzuhalten und darauf zu warten, dass der Benutzer die Eingabetaste drückt?
Ich möchte dies in einer for-Schleife tun. Nach jeder Iteration soll das Skript angehalten werden und darauf warten, dass der Benutzer die Eingabetaste drückt.
batch-file
dos
dr_rk
quelle
quelle
set /p=Hit ENTER to continue...
oder einfach,set /p=
wenn Sie keine Eingabeaufforderung benötigen.pause
Befehl ist das, wonach Sie suchen. Wenn Sie NUR den Fall suchen, in dem die Eingabetaste gedrückt wird, können Sie denrunas
Befehl missbrauchen :Der Bildschirm wird eingefroren, bis die Eingabetaste gedrückt wird. Was mir besser gefällt,
set/p=
ist, dass wenn Sie andere Tasten als die Eingabetaste drücken, diese nicht angezeigt werden.quelle
Sie können dies mit dem
pause
Befehl tun , Beispiel:quelle
pause
in der Tat ist die einzig gültige Antwort fürMS-DOS
(alle anderen Antworten funktionierencmd
nur in). Ihre Antwort ist also die einzig völlig richtige für diese spezielle Frage (obwohl sie bereits vor mehr als 7 Jahren vorgeschlagen wurde)Je nachdem , welche OS Sie verwenden, wenn Sie flexibel sind, dann
CHOICE
kann fast warten auf verwendet werden , eine beliebige TasteEXCEPT
eingebenWenn Sie sich wirklich auf das beziehen, worauf Microsoft besteht, "Eingabeaufforderung" aufzurufen, bei der es sich lediglich um einen MS-DOS-Emulator handelt, entspricht dies
TIMEOUT
möglicherweise Ihrem Zweck (timeout /t -1
wartet auf einen beliebigen Schlüssel, nicht nurENTER
) und ist natürlichCHOICE
in den letzten WIN-Editionen wieder verfügbar.Und eine Warnung zu
SET /P
- währendset /p DUMMY=Hit ENTER to continue...
wird funktionieren,erkennt, ob nur ENTER oder etwas anderes, das mit ENTER endet, eingegeben wurde.
quelle