Sprungmarke oder Else-Zweig in FOR-Block
Hallo Leute,
ich stehe mal wieder bißchen quer im Stall und bräuche eure Hilfe..
Für einen File-Transfer möchte ich mir ein Control-File erstellen und habe das Problem, dass ich in diesem For-Anweisungsblock nur einfache IF-Abfragen ohne Else-Zweig benutzen kann, auch Sprungmarken lassen die Ausführung in den Wald laufen. Selbst Erweiterungen der If-Anweisung mit && oder || klappen nicht. Gibts da nen Trick?
Hier ein Auszug aus meinem Konstrukt..
Vielen Dank im voraus!
Gruß Haegar
ich stehe mal wieder bißchen quer im Stall und bräuche eure Hilfe..
Für einen File-Transfer möchte ich mir ein Control-File erstellen und habe das Problem, dass ich in diesem For-Anweisungsblock nur einfache IF-Abfragen ohne Else-Zweig benutzen kann, auch Sprungmarken lassen die Ausführung in den Wald laufen. Selbst Erweiterungen der If-Anweisung mit && oder || klappen nicht. Gibts da nen Trick?
Hier ein Auszug aus meinem Konstrukt..
....
for /f "delims=. tokens=1,2,3,4" %%i in (oml.txt) do (
set AAAA=%%i
set VVVV=%%j
set SS=%%k
set LT=%%l
set "OMLPath=foml\!AAAA!\!VVVV!\!SS!"
set "OMLPath_L=foml/!AAAA!/!VVVV!/!SS!"
set "OMLFile=!AAAA!.!VVVV!.!SS!.!LT!.oml"
if exist %S03%\!OMLPath!\!OMLFile! echo cd /lan/!OMLPath_L!>>files.txt
if exist %S03%\!OMLPath!\!OMLFile! echo send %S03%!OMLPath!\*.bin>>files.txt
...
)
Vielen Dank im voraus!
Gruß Haegar
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151409
Url: https://administrator.de/forum/sprungmarke-oder-else-zweig-in-for-block-151409.html
Ausgedruckt am: 01.08.2025 um 23:08 Uhr
3 Kommentare
Neuester Kommentar

Hallo Haegar,
ich weiß ja nicht, ob die doppelten Zwischenvariablen aus anderen Gründen nötig sind,
aber ich würde sie in dem Fragment einfach weglassen.
Die unterschiedlichen Formen (mit . / \ ) kann man über Variablen-Substitution erzeugen - obiger ungetesteter Code sollte funktionieren.
Gruß
LotPings
ich weiß ja nicht, ob die doppelten Zwischenvariablen aus anderen Gründen nötig sind,
aber ich würde sie in dem Fragment einfach weglassen.
....
for /f "tokens=1-4 delims=." %%i in (oml.txt) do Set "OML=%%i\%%j\%%k"&Call :Sub "%%l.oml"
...
Goto :eof
:Sub
if exist "%S03%\foml\%OML%\%OML:\=.%.%~1" (
echo cd /lan/foml/%OML:\=/%
echo send %S03%\foml\%OML%\*.bin
)>>files.txt
Die unterschiedlichen Formen (mit . / \ ) kann man über Variablen-Substitution erzeugen - obiger ungetesteter Code sollte funktionieren.
Gruß
LotPings