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-ID: 260490

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

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

pieh-ejdsch
pieh-ejdsch 20.01.2015 um 21:41:41 Uhr
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
dievonnebenan
dievonnebenan 20.01.2015 um 22:31:32 Uhr
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