Variablen in Sprungmarken
Hallo,
als ich gerade einen ziemlichen langen TeilBereich in einer BatchDatei fertig geschrieben habe, welchen ich nun mehrmals kopieren und anpassen muss, istmir aufgefallen, dass mir eine Menge arbeit arspart bleiben könnte, wenn ich variablen als Sprungmarken verwenden würde. Allerdings funktioniert das irgendwie nicht.
Meine Frage daher, ob dies grundsätzlich nicht geht oder ob man dabei was beachten muss?
kleines Beispiel:
[Code]
Set "currentBereich=current"
Set "nextBereich=next"
:ErrorEingabe_%currentBereich%
set Eingabe=.
set /p Eingabe= ..:: %currentBereicht% (j/n):
if /i %Eingabe%==j goto :ja_%currentBereicht%
if /i %Eingabe%==n goto :nein_%currentBereicht%
echo.
echo - Ja oder nein, MAN!
echo ---
goto :ErrorEingabe_%currentBereicht%
:ja_%currentBereicht%
echo %currentBereicht% ............. [x] >> "%CheckList%"
goto :%nextBereich%
:nein_%currentBereicht%
echo %currentBereicht% ............. [ ] >> "%CheckList%"
goto :%nextBereich%
[/Code]
allerdings funktioniert das - wie gesagt - nicht! Die BatchDatei bricht dann einfach ab und das Fenster schließt sich!
Jemand Ahnung??
Gruß
ViRGiL
als ich gerade einen ziemlichen langen TeilBereich in einer BatchDatei fertig geschrieben habe, welchen ich nun mehrmals kopieren und anpassen muss, istmir aufgefallen, dass mir eine Menge arbeit arspart bleiben könnte, wenn ich variablen als Sprungmarken verwenden würde. Allerdings funktioniert das irgendwie nicht.
Meine Frage daher, ob dies grundsätzlich nicht geht oder ob man dabei was beachten muss?
kleines Beispiel:
[Code]
Set "currentBereich=current"
Set "nextBereich=next"
:ErrorEingabe_%currentBereich%
set Eingabe=.
set /p Eingabe= ..:: %currentBereicht% (j/n):
if /i %Eingabe%==j goto :ja_%currentBereicht%
if /i %Eingabe%==n goto :nein_%currentBereicht%
echo.
echo - Ja oder nein, MAN!
echo ---
goto :ErrorEingabe_%currentBereicht%
:ja_%currentBereicht%
echo %currentBereicht% ............. [x] >> "%CheckList%"
goto :%nextBereich%
:nein_%currentBereicht%
echo %currentBereicht% ............. [ ] >> "%CheckList%"
goto :%nextBereich%
[/Code]
allerdings funktioniert das - wie gesagt - nicht! Die BatchDatei bricht dann einfach ab und das Fenster schließt sich!
Jemand Ahnung??
Gruß
ViRGiL
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136500
Url: https://administrator.de/forum/variablen-in-sprungmarken-136500.html
Ausgedruckt am: 21.04.2025 um 11:04 Uhr
4 Kommentare
Neuester Kommentar
Moin VIRGIL,
du kannst in Goto/Call: -Anweisungen mit Variablen arbeiten (goto :Label%x_oder_y%).
Als Sprungmarken müssen dann allerdings auch die Label ":LabelX" und ":LabelY" definiert sein - OHNE variable Anteile.
Kann aber eigentlich auch nicht sein, dass du beim Losspringen UND beim Landen beide Male mit Variablen agieren musst.
Höhere Lebensformen sind oft ihr Leben lang in diesem (normalen) Zustand, dass es trotz der ungelösten Fragen
"Wo komme ich her? Wo gehe ich hin?" irgendwie weitergehen muss...
Aber Bätche sind viel viel einfacher gestrickt.
Grüße
Biber
du kannst in Goto/Call: -Anweisungen mit Variablen arbeiten (goto :Label%x_oder_y%).
Als Sprungmarken müssen dann allerdings auch die Label ":LabelX" und ":LabelY" definiert sein - OHNE variable Anteile.
Kann aber eigentlich auch nicht sein, dass du beim Losspringen UND beim Landen beide Male mit Variablen agieren musst.
Höhere Lebensformen sind oft ihr Leben lang in diesem (normalen) Zustand, dass es trotz der ungelösten Fragen
"Wo komme ich her? Wo gehe ich hin?" irgendwie weitergehen muss...
Aber Bätche sind viel viel einfacher gestrickt.
Grüße
Biber
Moin VIRGIL,
hast es schon richtig verstanden.
Eines der wenigen Beispiele, die mir einfallen würden:
Der Nachteil selbst der nur auf einer Seite variablen Springerei liegt auf der Hand... wenn ein XCopy-Errorlevel zurückkommt, den du nicht vorgesehen hast, dann bekommst du einen "Sprungmarke nicht gefunden"-Syntaxfehler.
Tipp: Überdenk noch mal in Ruhe, ob du das erhoffte Feature "Variablen in Sprungmarken" wirklich brauchst.
Grüße
Biber
hast es schon richtig verstanden.
Eines der wenigen Beispiele, die mir einfallen würden:
....
XCopy s:\Source\bla\*.* T:\Target\blubb\ /S /E /X /Y
Goto :XCopy%errorlevel%
:XCopy0
Echo Alles Prima
Goto :eof
:Xcopy4
Echo Xcopy schwerer Fehler
::... Fehlerbehandlung dieses Falles
goto :eof
:Xcopy1
:Echo Keine Daten zum Kopieren vorhanden
goto :eof
:Xcopy7
Echo Fehler in der Matrix
goto :Tilt
....
Der Nachteil selbst der nur auf einer Seite variablen Springerei liegt auf der Hand... wenn ein XCopy-Errorlevel zurückkommt, den du nicht vorgesehen hast, dann bekommst du einen "Sprungmarke nicht gefunden"-Syntaxfehler.
Tipp: Überdenk noch mal in Ruhe, ob du das erhoffte Feature "Variablen in Sprungmarken" wirklich brauchst.
Grüße
Biber