mesterdisast
Goto Top

Batch überprüft die Benutzereingabe nicht

Guten Morgen,

wie ich oben schon geschrieben habe überprüft der Batch die Benutzereingaben nicht jedoch habe ich keine Ahnung warum er das nicht tut.

Hier mal der Code:

@echo off
SET /P eingabe="Benutzername: "  
if %eingabe% == "Admin" goto A  
if %eingabe% == "Benutzer" goto B  

:A
net use O: "\\ServerIP\Ordner1"  
net use P: "\\ServerIP\Ordner2"  

echo Die Laufwerke wurden erstellt.
echo Diese koennen nun genutzt werden.
echo Der Benutzername ist %eingabe%

pause
goto Ende

:B
net use R: "\\ServerIP\Ordner3"  
net use S: "\\ServerIP\Ordner4"  

echo Die Laufwerke wurden erstellt.
echo Diese koennen nun genutzt werden.
echo Der Benutzername ist %eingabe%

pause
goto Ende

:Ende
echo Ende
exit

Zudem möchte ich noch eine Meldung ausgeben wenn %eingabe% nicht definiert ist.
Wenn man als Name zb. xyz eingibt soll er zum Anfang springen mit der Meldung das die Eingabe Falsch ist und man den Namen erneut eingeben soll.
Wenn die Eingabe leer bleibt soll er an das Ende springen.

Mit freundlichem Gruß
Mesterdisast

Content-Key: 218396

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

Printed on: April 19, 2024 at 19:04 o'clock

Member: Bitboy
Bitboy Oct 03, 2013 at 06:37:04 (UTC)
Goto Top
Hi,

so müsste es gehen


@echo off

:start

if "%eingabe%" NEQ "" echo "Eingabe falsch"
SET eingabe=

SET /P eingabe="Benutzername: "

if "%eingabe%" == "Admin" goto a
if "%eingabe%" == "Benutzer" goto b
if "%eingabe%" == "" goto ende

goto start
Member: bastla
bastla Oct 03, 2013 updated at 13:58:14 (UTC)
Goto Top
Hallo Mesterdisast!

Wenn Du beim Überprüfen auf der einen Seite Anführungszeichen verwendest, dann auch auf der anderen:
@echo off & setlocal
:Eingabe
SET /P eingabe=Benutzername: 
if /i "%eingabe%"=="Admin" goto A  
if /i "%eingabe%"=="Benutzer" goto B  
echo Eingabe nicht korrekt!
echo(
goto :Eingabe
Den Rest (ausgenommen die Zeile 30, die nicht benötigt wird), kannst Du beibehalten ...

Grüße
bastla