MS-DOS 6.22 Choise

Anmerkungen  Beispiele

Fordert den Benutzer auf, eine Wahl in einem Stapelverarbeitungsprogramm zu treffen. Zeigt eine bestimmte Aufforderung an und wartet auf den Benutzer, aus einem bestimmten Satz von Tasten zu wählen. Sie können diesen Befehl nur in Stapelverarbeitungsprogrammen verwenden.

Informationen über den Parameter ERRORLEVEL finden Sie unter Anmerkungen sowie bei der Beschreibung des Befehls If.

Syntax

CHOICE [/C[:]Tasten] [/N] [/S] [/T[:]c,nn] [Text]

Parameter

Text

Bezeichnet Text, der vor der Eingabeaufforderung angezeigt werden soll. Anführungszeichen sind nur erforderlich, wenn Sie in den Text ein Optionszeichen (/) vor der Eingabeaufforderung aufnehmen. Wenn Sie keinen Text angeben, zeigt CHOICE nur eine Eingabeaufforderung an.

Optionen

/C[:]Tasten

Bezeichnet Tasten, die als Eingabe zulässig sind. In der Anzeige stehen diese Tasten in eckigen Klammern ([]) und sind durch Kommas voneinander getrennt. Zum Abschluss steht ein Fragezeichen. Wenn Sie die Option /C nicht angeben, verwendet CHOICE "JN" als Standard. Der Doppelpunkt (:) ist wahlfrei.

/N

Bewirkt, dass CHOICE die Eingabeaufforderung nicht anzeigt. Der Text davor wird jedoch angezeigt. Wenn Sie die Option /N verwenden, gelten die angegebenen Tasten trotzdem.

/S

Bewirkt, dass CHOICE zwischen Groß- und Kleinschreibung unterscheidet. Ohne Angabe der Option /S akzeptiert CHOICE für die vom Benutzer festgelegten Tasten Groß- oder Kleinbuchstaben.

/T[:]c,nn

Bewirkt, dass CHOICE eine bestimmte Anzahl von Sekunden wartet, bevor eine festgelegte Taste als Standard verwendet wird. Der Doppelpunkt (:) ist wahlfrei. Die Werte für die Option /T sind wie folgt:

c

Bezeichnet das Zeichen, das nach nn Sekunden zum Standard wird. Das Zeichen muss zu denen gehören, die mit der Option /C festgelegt wurden.

nn

Bezeichnet die Anzahl von Sekunden, die pausiert wird. Zulässige Werte liegen zwischen 0 und 99. Bei Angabe von 0 ist vor dem Festlegen der Standardtaste keine Pause.

Anmerkungen
ERRORLEVEL-Parameter

Die erste von Ihnen zugewiesene Taste gibt den Wert 1 zurück, die zweite den Wert 2, die dritte den Wert 3 usw. Drückt der Benutzer eine Taste, die nicht zu den von Ihnen zugewiesenen Tasten gehört, lässt CHOICE ein akustisches Signal ertönen (d.h. es wird das Zeichen BEL (07h) an die Konsole gesendet).

Wenn CHOICE eine Fehlerbedingung entdeckt, gibt es den ERRORLEVEL-Wert 255 zurück. Wenn der Benutzer STRG+UNTBR oder STRG+C drückt, gibt CHOICE den ERRORLEVEL-Wert 0 zurück.

Wenn Sie ERRORLEVEL-Parameter in einem Stapelverarbeitungsprogramm verwenden, listen Sie sie in absteigender Reihenfolge.

Beispiele

Das sieht der Benutzer, wenn Sie CHOICE in einer Stapelverarbeitungsdatei verwenden

Wenn Sie in einer Stapelverarbeitungsdatei die folgende Syntax verwenden,

choice /c:jnw

sieht der Benutzer beim Starten von CHOICE:

[J,N,W]?

Wenn Sie der Syntax Text hinzufügen,

choice /c:jnw Ja, Nein oder Weiter

sieht der Benutzer beim Starten von CHOICE:

Ja, Nein oder Weiter[J,N,W]?

Das sieht der Benutzer, wenn Sie keine Eingabeaufforderung anzeigen

Wenn Sie wie im folgenden Beispiel die Option /N verwenden, um in einem Stapelverarbeitungsprogramm keine Eingabeaufforderung anzuzeigen,

choice /n Ja, Nein oder Weiter?

sieht der Benutzer nur den Text, den Sie beim Aufruf von CHOICE angegeben haben:

Ja, Nein oder Weiter?

Das sieht der Benutzer, wenn Sie die Option T verwenden

Wenn Sie in einem Stapelverarbeitungsprogramm die folgende Syntax verwenden,

choice /c:jnw /t:n,5

sieht der Benutzer beim Starten von CHOICE:

[J,N,W]?

Wenn der Benutzer nach 5 Sekunden keine Taste gedrückt hat, wählt CHOICE N und gibt den ERRORLEVEL-Wert 1 zurück. Drückt der Benutzer vor Ablauf der 5 Sekunden eine Taste, gibt CHOICE den Wert zurück, der der Auswahl des Benutzers entspricht.

Um die Option Laufwerk C: zu defragmentieren, beim Start Ihres Computers zu haben, können Sie folgendes zu Ihrer AUTOEXEC.BAT-Datei hinzufügen.

choice Defrag drive /ty,5
if errorlevel 2 goto KeinDefrag
defrag c:
:KeinDefrag

Wenn Sie N innerhalb von 5 Sekunden drücken, läuft DEFRAG nicht und CHOICE gibt den ERRORLEVEL-Wert 2 zurück. Wenn Sie N nicht innerhalb von 5 Sekunden drücken, oder wenn Sie J wählen, läuft DEFRAG auf dem Laufwerk C:.

Verwenden von CHOICE in einem Stapelverarbeitungsprogramm

Das folgende Stapelverarbeitungsprogramm demonstriert den Befehl CHOICE zur Auswahl unter den drei Programmen MS-DOS-Editor, Micrososft Anti-Virus und Microsoft Backup.

Beachten Sie, dass wenn IF ERRORLEVEL-Aussagen in absteigender Reihenfolge aufgelistet sind und der von CHOICE zurückgegebene ERRORLEVEL-Parameter größer oder gleich dem Parameter ist, der im IF-Befehl angegeben wurde, MS-DOS die IF-Aussage als wahr betrachtet.

@echo off
cls
echo.
echo A   Microsoft Editor
echo B   Microsoft Anti-Virus
echo C   Microsoft Backup
echo.
choice /c:abc Option wählen
if errorlevel 3 goto MSBackup
if errorlevel 2 goto Msav
if errorlevel 1 goto Edit

:Edit
edit
goto Ende

:Msav
msav
goto Ende

:Msbackup
msbackup
goto Ende

:Ende

Anzeigen: