Frage von BOSSthomas, 3

Batch Datei | Eingabe mit zeitlimit?

Ich möchte das so machen das man eine Eingabe am anfang machen kann um z.B sachen überspringen kann aber wenn mann z.b nichts eingibt soll man nichts drücken und es soll von alleine weitergehen am besten noch wenn man anfängt zu schreiben stop dieses Zeitlimit.

@echo off

 cls 

echo Gebe schnell das Passwort ein.

 /p set %input0%

 ###So hier soll ein Zeitlimit bei der Eingabe rein### 

###Es soll dann einfach weiter gehen wenn nach einer bestimmten zeit keine Eingabe kommt####

:Weiter cls echo bla bla bla

Antwort
von S1r1us13, 2

Das geht mit dem CHOICE-Befehl:

choice /C Wahlmöglichkeiten /T Zeitlimit /D Standardwert
if %errorlevel% == 3 goto Irgendwas
if %errorlevel% == 2 goto WasAnderes
>> Befehle, wenn nix eingegeben wird <<

Bei "Wahlmöglichkeiten" gibst du alle Buchstaben und Ziffern ein, die gedrückt werden können. Der Benutzer kann nicht mehr als 1 Buchstaben oder 1 Ziffer eingeben.

Bei "Zeitlimit" gibst du die Anzahl Sekunden ein, nach deren Ablauf spätestens fortgefahren werden soll.

Die Wahlmöglichkeiten prüfst du mit IF-Befehlen, die den Errorlevel auslesen. CHOICE legt den so fest, dass der erste Buchstabe eine 1 ergibt, der zweite Buchstabe eine 2 usw.

Beispiel:

choice /C JNA /T 10 /D J
if %errorlevel% == 3 goto Abbrechen
if %errorlevel% == 2 goto Nein
echo Du hast J eingegeben oder 10 Sekunden gewartet.

Hi ist "J" der erste Buchstabe, "N" der zweite und "A" der dritte.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten