Mittwoch, 11.12.2024 (CET) um 11:47 Uhr
www.windowspage.de 20 Jahre Windowspage
News:
Herzlich Willkommen bei Windowspage. Alles rund um Windows.

Tipps - Choice - Benutzer zur Auswahl mehrerer möglicher Optionen auffordern
Detailbeschreibung
Betriebssystem: Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Windows 11

Insbesondere bei der Verarbeitung von Befehlsskripten (BAT- und CMD-Dateien) kann es erforderlich sein, dass ein Benutzer verschiedene Optionen auswählen kann oder eine Sicherheitsabfrage (nochmals) bestätigen muss. Z. B.:

  • Auswahl ob ein Vorgang ausgeführt oder beendet werden soll
  • Bestätigung vor dem Entfernen / Löschen von Dateien

In allen Windows-Versionen mit Ausnahme von Windows 2000 und Windows XP steht ein kleines Befehlszeilenprogramm hierfür bereit. Die Parameter unterscheiden sich jedoch zwischen den Versionen für Windows 9x und den NT-basierenden Versionen ab Windows Vista. Mit Hilfe von CMD-Befehlen lässt jedoch für Windows 2000 und Windows XP die Funktion in Teilen "nachbauen".

So geht's:

  • "Start" > ("Programme") bzw. ("Alle Apps") > ("Zubehör") bzw. ("Windows-System") > "MS-DOS-Eingabeaufforderung" bzw. "Eingabeaufforderung" (oder "command.com" bzw. "cmd.exe" starten)
  • Geben Sie als Befehl folgenden Syntax ein:
    • Windows 9x: 'choice [Text]'
      Z. B.: 'choice "Vorgang abbrechen"'
      ab Windows Vista: 'choice /m [Text]'
      z. B.: 'choice /m "Vorgang abbrechen"'
  • Drücken Sie die Eingabetaste.
  • Der Text und die Auswahlliste wird angezeigt.

choice /m "Vorgang abbrechen

Tabelle der Parameter (Windows 9x):

Parameter Kurzbeschreibung
/c:[Optionen] Gibt die zulässigen Tasten für die Auswahl an.
Gültige Auswahlmöglichkeitensind a-z, A-Z, 0-9 und erweiterte ASCII-Zeichen (128-254).
Standard: JN
/n Blendet die Auswahlliste in der Aufforderung aus. Die Auswahlmöglichkeiten bestehen weiterhin.
/s Gibt an, dass bei den Auswahlmöglichkeiten die Groß-/Kleinschreibung relevant ist.
Standardmäßig wird die Groß-/Kleinschreibung bei der Auswahl nicht beachtet.
/t:c,nn Gibt die Anzahl von Sekunden an ("nn"), die gewartet werden soll, bevor die durch ("c") angegebene Standardauswahl verwendet wird.
Text Gibt eine Meldung an, die vor der Auswahlliste angezeigt werden soll.

Tabelle der Parameter (ab Windows Vista):

Parameter Kurzbeschreibung
/c [Optionen] Gibt die zulässigen Tasten für die Auswahl an.
Gültige Auswahlmöglichkeitensind a-z, A-Z, 0-9 und erweiterte ASCII-Zeichen (128-254).
Standard: JN
/cs Gibt an, dass bei den Auswahlmöglichkeiten die Groß-/Kleinschreibung relevant ist.
Standardmäßig wird die Groß-/Kleinschreibung bei der Auswahl nicht beachtet.
/d [Option] Gibt die Standardauswahl an, die nach dem Abwarten der durch den Parameter "/t" angegebenen Anzahl von Sekunden verwendet werden soll.
Die Standardauswahl muss in der durch den Parameter "/c" angegebenen Liste der Optionen enthalten sein.
/n Blendet die Auswahlliste in der Aufforderung aus. Die Auswahlmöglichkeiten bestehen weiterhin.
/m [Text] Gibt eine Meldung an, die vor der Auswahlliste angezeigt werden soll. Wenn der Parameter "/m" nicht angegeben ist, wird nur die Auswahlaufforderung angezeigt.
/t [Sek] Gibt die Anzahl von Sekunden an, die gewartet werden soll, bevor die durch den Parameter "/d" angegebene Standardauswahl verwendet wird. Zulässige Werte liegen zwischen 0 und 9999.Wenn "0" festgelegt ist, wird sofort die Standardauswahl zurückgegeben.

Skriptlösung für Windows 2000 und Windows XP:

@ECHO OFF
:loop
set /P choice=Auswahltext [J,N]?
if "%choice%"=="N" goto no
if "%choice%"=="J" goto yes
goto loop

:no
[Befehle]
goto end

:yes
[Befehle]
goto end

:end

Beispiele (ab Windows Vista):

  • Die Meldung "Ja, Nein oder Abbrechen" mit den Auswahlbuchstaben "J", "N" und "C" anzeigen und zwischen Groß- und Kleinschreibung unterscheiden:
    'choice /c jnc /cs /m "Ja, Nein oder Abbrechen"'
  • Die Meldung "Möchten Sie den Vorgang abbrechen" mit der Standardauswahl ("J" und "N") anzeigen und nach 10 Sekunden ohne Eingabe den Vorgang mit der Auswahl 1 ("J") abbrechen:
    'choice /m "Möchten Sie den Vorgang abbrechen" /d j /t 10'

Skriptbeispiel (ab Windows Vista):

@ECHO OFF
choice /m "Möchten Sie den Vorgang abbrechen"
if ERRORLEVEL 255 goto error
if ERRORLEVEL 2 goto no
if ERRORLEVEL 1 goto yes
if ERRORLEVEL 0 goto continue

:yes
ECHO Der Vorgang wurde abgebrochen!
goto end

:no
ECHO Der Vorgang wurde nicht abgebrochen!
goto end

:continue
ECHO Es wurde Strg + C gedrückt!
goto end

:error
ECHO Es ist ein Fehler aufgetreten!
goto end

:end


Unsere Webseite verwendet technisch notwendige Cookies ("berechtigtes Interesse"). Darüberhinausgehend (z. B. für Statistiken oder Marketing) erfolgt keine Speicherung von Cookies. Klicken Sie auf "Ich stimme zu", um Cookies zu akzeptieren und direkt unsere Webseite besuchen zu können. Weitere Informationen...

Valid HTML 4.01 Transitional  CSS ist valide!