Batch if-Anweisung springt nicht an

RobaL

Lieutenant
Registriert
Apr. 2008
Beiträge
598
bei dem unten stehenden code hab ich ein problem: in der markierten zeile springen die if-anweisungen nicht an. bei der auswahl 1, 2 oder 3 funktionierts. bei 4, 5 will er einfach nicht das tun was er soll. kann mir da jemand weiterhelfen?

Code:
@echo on
:: ------------------------------------------------
echo.
echo Welcher Startvorgang soll ausgeführt werden?
echo.
echo. 1 = default
echo. 2 = default + Invisible
echo. 3 = default + Invisible + Visible
echo.
echo. 4 = default + VirtualBox
echo. 5 = default + VirtualBox + Invisible
echo. 6 = default + VirtualBox + Invisible + Visible
echo.
set /p choice=Starte ... 
if '%choice%'=='1' goto default
if '%choice%'=='2' goto invisible
if '%choice%'=='3' goto visible
:: ------------------------------------------------
D:
cd D:\VirtualBox\Install\
VBoxManage.exe startvm KPL-CUDA --type gui
C:
:: >>>>>>>>>>> diese if springen nicht an (wenn 4 oder 5 ausgewählt wurde) <<<<<<<<<<<
if '%choice%'=='4' goto default
if '%choice%'=='5' goto invisble
goto visible
:: ------------------------------------------------
:visible
ping 127.0.0.1 -n 21 >NUL
start /D "C:\Program Files (x86)\Skype\Phone\" /min skype.exe
:: ------------------------------------------------
:invisible
ping 127.0.0.1 -n 21 >NUL
start /D "C:\Program Files (x86)\Mozilla Thunderbird\" /min thunderbird.exe
:: ------------------------------------------------
:default
exit
 
Code:
if '%choice%'=='5' goto invisble
invisible

Ansonsten gehts bei mir. Vllt. hast du irgendwo nen Fehler in einem Programmaufruf?

Kannst ja mal schaun ob das bei dir so läuft wies soll:
Code:
@echo off
echo Welcher Startvorgang soll ausgeführt werden?
echo.
echo. 1 = default
echo. 2 = default + Invisible
echo. 3 = default + Invisible + Visible
echo.
echo. 4 = default + VirtualBox
echo. 5 = default + VirtualBox + Invisible
echo. 6 = default + VirtualBox + Invisible + Visible
echo.
set /p choice=Starte ... 
echo.
echo --------------------------
if '%choice%'=='1' goto default
if '%choice%'=='2' goto invisible
if '%choice%'=='3' goto visible
:: ------------------------------------------------
echo VirtualBox
:: >>>>>>>>>>> diese if springen nicht an (wenn 4 oder 5 ausgewählt wurde) <<<<<<<<<<<
if '%choice%'=='4' goto default
if '%choice%'=='5' goto invisible
goto visible
:: ------------------------------------------------
:visible
echo visible
:: ------------------------------------------------
:invisible
echo invisible
:: ------------------------------------------------
:default
echo default
echo --------------------------
echo.
pause
exit
 
D:
cd D:\VirtualBox\Install\
VBoxManage.exe startvm KPL-CUDA --type gui
C:

--------------------------------------------------------------

wie wäre es hier mit:

start d:\virtualbox\install\vboxmanage.exe startvm KPL-CUDA --type gui

--------------------------------------------------------------

Die Laufwerkwechsel sind so nicht nötig, wie du sie aufgeführt hast.
Und Programme sollte man mit dem "start"-Befehl starten, da sonst - wenn ich mich recht erinnere (und das ist schon lange her) - die Batch-Datei unterbrochen wird.

Und natürlich den Schreibfehler unter choice5 nicht zu vergessen.
 
danke, der schreibfehler wars :( das ist peinlich.


danke für die restlichentipps, werds heute weiter verbessern.
 
Zurück
Oben