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-ID: 218396

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

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

Bitboy
Bitboy 03.10.2013 um 08:37:04 Uhr
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
bastla
bastla 03.10.2013 aktualisiert um 15:58:14 Uhr
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