boogieman
Goto Top

If und GOTO in Batch

Hallo face-smile
Ich bringe mir zurzeit das Programmieren per JAVA und Batch bei bin nur bei manchem noch nicht ganz dahinter gestiegen und würde mich über Antworten sehr freuen.

Die Batch um welche es geht soll später eine URL aufrufen die dann ein Backup startet. Die Batch startet dann so mit einer Begrüßung und nimmt die URL als Variable auf, da diese dann noch verwendet wird. Dann soll es halt die URL noch einmal anzeigen und dann per GOTO weiter gehen. Nur das GOTO will nicht... her das script

@echo off
cls

echo Herzlich willkommen
echo -----------------------------------------------------
set /p url=welche URL soll aufgerufen werden?
pause

cls
echo -----------------------------
echo dieser link wird aufgerufen
echo -
echo %url%

rem hier haengt es jetzt ..
set /p antw = Ist dieser Link richtig? (j/n)
if %antw% == "j" goto ja
if %antw% == n goto nein

:ja
echo jaaaa
pause
:nein echo neeein
pause


wieso ist das goto dort falsch? Welche Richtlinien muss ich bei if und goto beachten?

Freue mich auf eure Antworten und bedanke mich schon einmal im voraus face-smile

Content-Key: 241683

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

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: Gersen
Lösung Gersen 24.06.2014 aktualisiert um 11:24:38 Uhr
Goto Top
Hallo,

versuch doch mal:
set /p antw=Ist dieser Link richtig? (j/n)
if "%antw%" == "j" goto ja  
goto nein

Wichtig: die Leerzeichen in Zeile 1, die Anführungszeichen in Zeile 2 - zum Einlesen ins Thema "IF in der Batch" - hier.

Gruß,
Gersen
Mitglied: MasterBlaster88
Lösung MasterBlaster88 24.06.2014 aktualisiert um 11:24:41 Uhr
Goto Top
Hi,

dir fehlen die Anführungszeichen um %antw%

edit: Sorry hab den Post vorher überlesen :/
Mitglied: 0x32f1
Lösung 0x32f1 24.06.2014 aktualisiert um 11:24:42 Uhr
Goto Top
Um das ganze vom Ablauf sauberer zu machen (Fehlerhafte Eingabe abfangen, nach "jaaa" nicht immer "neein" usw. könntest du noch:

set /p antw = Ist dieser Link richtig? (j/n)
if "%antw%" == "j" goto ja  
if "%antw%" == "n" goto nein  
goto error

:ja
echo jaaaa
pause
goto :eof

:nein
echo neeein
pause
goto :eof

:error
echo Fehler
pause
Mitglied: Boogieman
Boogieman 24.06.2014 um 11:26:49 Uhr
Goto Top
Super! face-smile
Vielen dank für die Antworten und vor allem die Tipps face-smile dank euch funktioniert es schon wieder und ich kann weiter machen (y)

vielen vielen dank!
Mitglied: Boogieman
Boogieman 24.06.2014 um 11:30:50 Uhr
Goto Top
das goto zu dem beenden ist gut, danke face-smile
Mitglied: Xaero1982
Xaero1982 24.06.2014 um 12:00:57 Uhr
Goto Top
Und um noch sicherer zu sein sollte es:

if /i ...

heißen, damit man auch mal ein J und ein N eintragen kann.

Gruß
Mitglied: Boogieman
Boogieman 24.06.2014 um 12:08:53 Uhr
Goto Top
sehr gut
danke face-smile