dievonnebenan
Goto Top

Stern in FOR maskieren

Ich möchte eine FOR-Schleife nutzen, um eine Variable mit mehreren Semikolon-separierten Werten zu zerlegen.
Manchmal kann ein Wert mit einen * (Stern) dabei sein, der von meiner FOR-Schleife leider komplett ignoriert wird.
set var=1.1;*.2;3.3
for %%a in ("%var:;=";"%") do (echo %%~a)  
Das Ergebnis sieht dann so aus...
C:\>(echo 1.1 )
1.1
C:\>(echo 3.3 )
3.3
... sollte aber eigentlich folgendes ausgeben...
C:\>(echo 1.1 )
1.1
C:\>(echo *.2 )
*.2
C:\>(echo 3.3 )
3.3
Wie kann ich den Stern maskieren?

Für eure Mithilfe schon jetzt lieben Dank.

Content-Key: 260490

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

Printed on: April 19, 2024 at 20:04 o'clock

Member: pieh-ejdsch
pieh-ejdsch Jan 20, 2015 at 20:41:41 (UTC)
Goto Top
Moin dievonnebenan,

Der Stern und das Fragezeichen sind Wildcard.
Das Semikolon unterteilt eine Befehlszeile in einzelne Parameter.
Call :parameter q.q;*.2;3.3
Exit /b
:parameter
If "%~1" neq "" echo %1  
If "%~2" neq "" shift & goto :parameter  
Exit /b
Gruβ Phil
Member: dievonnebenan
dievonnebenan Jan 20, 2015 at 21:31:32 (UTC)
Goto Top
WOW... einfach und wirkungsvoll... vielen Dank dafür Phil

Nun muss ich nur sehen, wie ich das in mein bestehendes Script verbaut bekomme.
Wenn es passt, gebe ich Bescheid... wenn nicht auch face-smile

Grüße, chris