virgil
Goto Top

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

Content-Key: 136500

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

Ausgedruckt am: 19.03.2024 um 04:03 Uhr

Mitglied: Biber
Biber 21.02.2010 um 19:46:01 Uhr
Goto Top
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
Mitglied: ViRGiL
ViRGiL 21.02.2010 um 21:08:55 Uhr
Goto Top
Mit anderen Worten, es funktioniert nur so:

Set "next=nextBereich"

goto :Label%Next%

:LebelnextBereich

oder stehe ich gerde auf dem Schlauch??
*grübel*

ViRGiL
Mitglied: Biber
Biber 22.02.2010 um 04:07:15 Uhr
Goto Top
Moin VIRGIL,

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
Mitglied: ViRGiL
ViRGiL 22.02.2010 um 08:35:36 Uhr
Goto Top
Okay, dann weiss ich wenigstens warum es nicht ging ...
... und ich denke ich bekomme mein Vorhaben auch mit "Suchen..." und "Ersetzen..." hin.

An dieser Stelle besten Dank!!

Gruß
ViRGiL