Mobile

Batch Wo liegt der Fehler?

aggitron

Commander
Registriert
Jan. 2006
Beiträge
2.079
Wo liegt der Fehler? [Solved]

Ich habe mir eine kleine Batch Datei zusammen geschrieben um meine RDP Verbindungen einfacher zu starten. Es funktioniert aber nicht wie gewünscht. Egal welche Nummer man wählt, er verbindet sich immer mit Server 1. Es sieht fast so aus als ob die Sprungpunkte nicht funktionieren.

Code:
@echo off

:START
cls
echo RDP Optionen:
echo.
echo 1 = SERVER1
echo 2 = SERVER2
echo 3 = SERVER3
echo.

choice /C:123 /N "Auswahl: "
echo %ERRORLEVEL%                       //war nur zur Abfrage ob bereits hier ein Fehler vorliegt
pause
if ERRORLEVEL 1 goto SERVER1
if ERRORLEVEL 2 goto SERVER2
if ERRORLEVEL 3 goto SERVER3

:SERVER1
cls
echo Remote-Desktop: SERVER 1
echo.
echo Starte RDP Verbindung...
mstsc "C:\Dokumente und Einstellungen\Fritz\Desktop\SERVER1.rdp" -admin
goto eof

:SERVER2
cls
echo Remote-Desktop: SERVER 2
echo.
echo Starte RDP Verbindung...
mstsc "C:\Dokumente und Einstellungen\Fritz\Desktop\SERVER2.rdp" -admin
goto eof

:SERVER3
cls
echo Remote-Desktop: SERVER 3
echo.
echo Starte RDP Verbindung...
mstsc "C:\Dokumente und Einstellungen\Fritz\Desktop\SERVER3.rdp" -admin
goto eof

Wo liegt der Fehler?

/edit
Ich meine irgendwo gelesen zu haben das es ein Nachteil von choice wäre das es nicht immer wie gewünscht funktioniert...
 
Zuletzt bearbeitet:
Code:
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

IF [NOT] ERRORLEVEL Nummer Befehl
IF [NOT] Zeichenfolge1==Zeichenfolge2 Befehl
IF [NOT] EXIST Dateiname Befehl

  NOT              Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                   erfüllt ist.

  ERRORLEVEL Zahl  Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                   Programm einen Code größer oder gleich der Nummer
                   zurückgibt.
Du musst von oben nach unten prüfen.
Code:
if errorlevel 3 ...
if errorlevel 2 ...
if errorlevel 1 ...
 
Hi,

laut Hilfe von Choice müsste es doch:

choice /C 123 /N "Auswahl: "

heissen, also ohne doppelpunkt sondern mit Leerzeichen.

Gruß,
d2boxSteve
 
Zurück
Oben