baggerfahrer
Goto Top

Batchdatei: Abfrage ohne Enter verarbeiten

Guten Abend face-smile
Hoffentlich bin ich im richtigen Bereich gelandet.

Manchmal bastle ich kurze und simple Batchdateien und dank der Hilfe aus dem Netz komme ich dabei meistens auch irgendwann zum Erfolg.
Diesmal komme ich aber einfach nicht weiter und würde mich sehr über eure Unterstützung freuen.

Es geht eigentlich nur um eine einfache Abfrage, die entweder mit der Taste A oder mit "anykey" bestätigt werden soll, dafür habe ich einen "Schnipsel" gefunden und eingebaut.
Im Prinzip funktioniert auch alles, es geht nur um ein kosmetisches Problem.
Beim Drücken irgendeiner Taste wird die Batchdatei wie gewünscht sofort und ohne Text beendet, alles super, aber wenn ich Taste A drücke, dann erscheint direkt neben dem Abfragetext das "a" und man muss dann noch mit Enter bestätigen.
Wie bekommt man es hin, dass die Batchdatei sofort nach Taste a zum Anfang (goto 0) springt?

Hier der "Code":

set A=
set /p A= A zurueck zum Anfang, anykey zum Beenden
if /i "%A:~,1%"=="A" goto 0  
echo.
goto :eof

Schönen Abend und vielen Dank face-smile
Bagger

Content-ID: 5562491221

Url: https://administrator.de/forum/batchdatei-abfrage-ohne-enter-verarbeiten-5562491221.html

Ausgedruckt am: 08.04.2025 um 16:04 Uhr

5175293307
5175293307 22.01.2023 aktualisiert um 22:29:29 Uhr
Goto Top
Choice ist dein Freund.
choice /c ae /m "Mit A zum Anfang mit E zum Ende"  
If "%errorlevel%" == "1" goto 0  
Wurstel
DivideByZero
DivideByZero 22.01.2023 um 22:30:51 Uhr
Goto Top
Das dürfte mit Batch schwierig werden.
Den reinen Tastendruck müsste man über Umwege auswerten, z.B. so: Batch Tastendruck Erfassen.

In Powershell geht das über $Host.UI.RawUI.ReadKey.

Choice hat den Nachteil, dass es eine feste Auswahl anbietet.

Gruß

DivideByZero
Baggerfahrer
Baggerfahrer 28.01.2023 um 21:59:15 Uhr
Goto Top
Danke und sorry für die späte Antwort! Vollstress bis zum Anschlag ...
Werde ich testen.

Btw: gibt es eine Möglichkeit, per Batch einen sehr langen Text zu zeigen, ohne vor jede Zeile ein echo zu setzen?
Viel gegoogelt und probiert, ohne Erfolg.
Habe es gerade mal kurz mit Excel versucht (1. Spalte echo und ein Leerzeichen, 2. Spalte den ganzen Text eingefügt, alles in eine .txt kopiert und in .bat umbenannt, klappt leider nicht).

Externe .txt-Datei aufrufen wäre ja innerhalb einer Batch möglich, würde aber u.U. wegen falscher Verknüpfung zu dieser Datei scheitern.

Lieben Dank und schönes Wochenende face-smile
5175293307
5175293307 29.01.2023 aktualisiert um 07:54:03 Uhr
Goto Top
Zitat von @Baggerfahrer:
Externe .txt-Datei aufrufen wäre ja innerhalb einer Batch möglich, würde aber u.U. wegen falscher Verknüpfung zu dieser Datei scheitern.
Wieso? Datei im selben Verzeichnis wie das Skript platzieren und mit
type "%~dp0meineDatei.txt"  
oder
notepad "%~dp0meineDatei.txt"  
anzeigen, somit ist es Pfadunabhängig.

Aber mal ehrlich, Batch zum Romane lesen?? 🤣