haegar75
Goto Top

Sprungmarke oder Else-Zweig in FOR-Block

Hallo Leute,
ich stehe mal wieder bißchen quer im Stall und bräuche eure Hilfe..
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

Content-Key: 151409

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

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: 77559
77559 20.09.2010 um 23:11:53 Uhr
Goto Top
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.

....
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
Mitglied: mathe172
mathe172 21.09.2010 um 18:22:23 Uhr
Goto Top
Hallo haegar!

Ich weiss nicht ob das von Lotpings schon reicht, aber:
Wenn "else" und "goto" nicht funktionieren, versuchs mit:
if exist .... echo ....
if not exist ..... echo ....
REM Also einfach prüfen ob Datei vorhanden und dann ob Datei nicht vorhanden

Mathe172
Mitglied: Haegar75
Haegar75 22.09.2010 um 20:31:06 Uhr
Goto Top
Vielen Dank euch beiden! Der Tipp den For-Anweisungsblock in ein Unterprogramm zu packen war schon der Schlüssel zum Erfolg!