acjoker
Goto Top

Leerzeichen als Delimiter funktioniert nicht, ist es ein Leerzeichen?

Hallo,

ich würde gerne mit
@echo off
FOR /F "delims= " %%i IN (C:\Test.txt) do (  
echo %%i, %%j, %%k, %%l
) 
pause

diese Textdatei auslesen und in Tokens aufteilen

$$ XYZ Code: ABC123XY001


Eigentlich sollte ich so in %%i doch "ABC123XY001" haben.
Es wird aber lediglich die Variable %%i mit "$$" gefüllt, die restlichen Variablen bleiben leer.

Setze ich "delims=" (also ohne Trennzeichen), bekomme ich den gesamten Text in %%i.
Auch mit "delims=," und dem passenden Trennzeichen in der TXT klappt alles wie gewünscht.

Kann es sein das gar kein Leerzeichen vorhanden ist, sondern irgend etwas anderes?
Wie kann ich dies prüfen?

Später würde ich das Ganze mit "tokens=4" noch passender Auslesen.

Beste Grüße
Joker

Content-Key: 359902

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

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

Member: Apophis
Solution Apophis Jan 04, 2018 at 14:28:44 (UTC)
Goto Top
Hallo,

der Leerzeichen ist per Default schon ein Trenner, Du kannst den Parameter delims weglassen. Dafür ist aber der Parameter tokens notwendig. Das hier tut:

@echo off 
FOR /F  "tokens=1,2,3,4" %%a IN (Test.txt) do (   
echo %%a, %%b, %%c, %%d 
)  
pause

Gruß
Apophis
Member: AcJoker
AcJoker Jan 05, 2018 updated at 23:08:54 (UTC)
Goto Top
Hallo,

hat funktioniert, danke.

Diese Info hatte ich leider bisher nicht gesehen, dafür aber die Info das man Leerzeichen mit "delims= " als Trenner angibt und daher delims am besten immer hinten steht man es so besser lesbar wäre.

"token=2 delims= "
delims= token=2" (man erkennt nicht das delims ein Leerzeichen ist, so wurde es jedenfalls dort erklärt.)

Gruß
Joker