wollie11
Goto Top

Abfrage Tastatureingabe (Batch per WinXP-CMD)

Ziel ist, es von der Tastatureingabe abhängig zu machen, ob die CMD-Datei erneut laufen oder ob sie beendet werden soll. Die Betätigung der Taste <j> soll den Batch erneut laufen lassen.

Doch die Datei wird, auch wenn auf der Tastatur <j> gedrückt wird, geschlossen. Wo liegt mein Fehler? Dass der Else-Befehl erforderlich ist, irritiert mich ebenfalls.

Für die Hilfe möchte ich mich schon jetzt bedanken.

Auszugsweise der Code:

:Einsprung
set /p Pfad=Bitte den Pfad eingeben und mit [Return] bestaetigen (Erinnerung: Auch die Anführungsstriche am Beginn und am Ende sind einzugeben):

echo Sollen bei einer weiteren Datei "Desktop.ini" die Attribute geloescht werden?
set /p J=Wenn Ja, bitte die Taste "<J>" druecken. Wenn nein, irgendeine Taste druecken:
goto Ja

:Ja
if /i "J" goto Einsprung else exit
echo.
Echo Das Fenster wird geschlossen.
exit

Content-Key: 104640

Url: https://administrator.de/contentid/104640

Printed on: April 16, 2024 at 23:04 o'clock

Member: bastla
bastla Dec 23, 2008 at 11:46:47 (UTC)
Goto Top
Hallo Wollie11!

Etwa so:
:Einsprung
set /p Pfad=Bitte den Pfad eingeben und mit [Return] bestaetigen (Erinnerung: Auch die Anführungsstriche am Beginn und am Ende sind einzugeben):

set J=
echo Sollen bei einer weiteren Datei "Desktop.ini" die Attribute geloescht werden?  
set /p J=Wenn Ja, bitte die Taste "<J>" druecken. Wenn nein, irgendeine Taste druecken:  

if /i "%J:~,1%"=="J" goto Einsprung  
echo.
Echo Das Fenster wird geschlossen.
goto :eof
Hier wird nur das erste Zeichen der Eingabe überprüft.

"exit" in einem Batch mag ich nicht, da es beim Testen (das ich grundsätzlich von der Kommandozeile aus vornehme) stört (weil das "exit", zumindest, wenn es ohne "/b" verwendet wird, das CMD-Fenster schließt) - "goto :eof" sollte genügen ...

Grüße
bastla