-heny-
Goto Top

Problem bei FOR-Schleife und Gleichzeichen

Hallo,

gegeben sei folgender Codeschnipsel einer Batchdatei:

@echo off
for /f "delims== tokens=1,*" %%a in (test.txt) do echo %%b  
pause

Der Inhalt der test.txt lautet wie folgt:

test=text
test2=text====
test3==========

Ich möchte nun jeweils das zweite Token jeder Zeile ausgeben. In der ersten Zeile wäre dies text, in Zeile 2 text==== und in Zeile 3 =========.

Die Ausgabe ist nun wie folgt:

text
text====
ECHO ist ausgeschaltet (OFF).
Drücken Sie eine beliebige Taste . . .

Beim Durchlaufen der ersten und zweiten Zeile der Textdatei funktioniert alles prächtig, bei der letzten Zeile allerdings stört sich die FOR-Schleife anscheinend an den vielen aufeinanderfolgenden Gleichzeichen ohne andere Zwischenzeichen.

Gibt es eine Möglichkeit dennoch eine korrekte Ausgabe zu erhalten, ohne auf Substition der Zeichen zurückgreifen zu müssen?

Gruß,
heny

Content-Key: 94026

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

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

Member: Biber
Biber Aug 09, 2008 at 17:25:19 (UTC)
Goto Top
Moin heny,

Gibt es eine Möglichkeit dennoch eine korrekte Ausgabe zu erhalten, ohne auf Substition der Zeichen zurückgreifen zu müssen?
Ohne Substitution wirst Du die gewünschte Ausgabe IMHO nicht erhalten können.
Denn die 3. Zeile hat für die implementierte MS$-Token-Zerlegung nur ein Token.

Wir könnten darüber steiten oder lamentieren, ob das die einzige Implementierungslogik ist... aber so ist es nun mal fest verdrahtet.

Auch wenn Du für Deinen Zweck eine andere Ausgabe als "korrekt" empfindest.. in diesem Fall musst Du Dich dem Werkzeug unterordnen und genau diesen Spezialfall mit einer Extra-Substitution lösen.

Grüße
Biber