Batch-Programmierung

Deine Frage passt nicht in die anderen Bereiche, dann stelle sie hier.
Antworten
PapaFox
Frischling
Frischling
Beiträge: 21
Registriert: 27.09.2020, 21:00
Gender:

Batch-Programmierung

Beitrag von PapaFox » 16.03.2021, 01:33

Hallo Fans der Batch-Programmierung. Ich habe noch ca 2010 mit dem GFA-Basic für ATARI STE Programme geschrieben. Nun versuche ich es mit Batch unter W10.

Ich habe ein Problem:
:Anfang
set /p buchstabe=Bitte s oder q eingeben:

If %in%==s goto Erster
If %in%==q goto Stop
rem Falsche Eingabe, nicht s oder q eingegeben
echo.
echo Falsche Eingabe --- %buchstabe% --- Bitte Eingabe wiederholen
Goto Anfang
echo.
:Erster
echo pause
Pause
Goto --->
:zweiter
usw
Goto --->

Jetzt kommts:
Wenn nur die ENTER-Taste gedrückt wird, wirkt diese wie EXIT. Und raus bist du
Beim GFA-Basic konnte ich den Code der Enter-Taste abfragen.

Wie frage ich den 'nur' Klick auf die Enter-Taste ab? Google hat mir nicht geholfen oder ich hatte die berühmten Tomaten ....

Für eure Mithilfe danke ich.

PapaFox

Tante Google

Batch-Programmierung

Beitrag von Tante Google » 16.03.2021, 01:33


Benutzeravatar
Ben
★ Ehrenmitglied ★
Beiträge: 1032
Registriert: 28.12.2017, 15:19
Hat sich bedankt: 47 Mal
Danke erhalten: 84 Mal
Gender:

Re: Batch-Programmierung

Beitrag von Ben » 16.03.2021, 08:36

Die Enter Taste kannst du z.B. so abfangen.

Code: Alles auswählen

If [%buchstabe%]==[] echo. && echo Falsche Eingabe --- Enter Taste wurde benutzt --- Bitte Eingabe wiederhohlen && Goto Anfang
Da die Enter Taste beim betätigen praktisch kein Zeichen ausgibt ist die Varibele "buchstabe" leer. Das bedeutet bei der Oben gezeigten If Abfrage das die Antwort so lautet "[]==[]" und damit das was dahinter angegeben ist ausgeführt wird.

In deinem Fall dann in etwa so

Code: Alles auswählen

:Anfang
set /p buchstabe=Bitte s oder q eingeben:

If [%buchstabe%]==[] echo. && echo Falsche Eingabe --- Enter Taste wurde benutzt --- Bitte Eingabe wiederhohlen && Goto Anfang
If %buchstabe%==s goto Erster
If %buchstabe%==q goto Stop
rem Falsche Eingabe, nicht s oder q eingegeben
echo.
echo Falsche Eingabe --- %buchstabe% --- Bitte Eingabe wiederholen
Goto Anfang
echo.
:Erster
echo pause
Pause
Goto --->
:zweiter
usw
Goto --->

PapaFoxx

Re: Batch-Programmierung

Beitrag von PapaFoxx » 17.03.2021, 02:42

@ Ben,

Hawadere! klingt auf bayrisch: habe die Ehre,
Ich danke dir für deine Lösung.

Jetzt werde ich sie nicht mehr realisieren, da ein bisserl sehr spät.
Ich werde dich über den Erfolg benachrichtigen.

Servus
Peter äh, PapaFox

PapaFox
Frischling
Frischling
Beiträge: 21
Registriert: 27.09.2020, 21:00
Gender:

Re: Batch-Programmierung

Beitrag von PapaFox » 18.03.2021, 16:02

@Ben,

ich habe dich nicht vergessen, es hat nur etwas gedauert. Aber wie heißt es: was lange dauert, wird endlich gut.
(Oder so ähnlich)

Also, herzlichen Dank. Es funktioniert. Spitze.

Da ich auf eine leere Eingabe [ ] abfrage, muss die Variable in eckigen Klammern [ ] stehen?

Gruß
PapaFox

Antworten