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

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

Ausgedruckt am: 24.11.2024 um 19:11 Uhr

Apophis
Lösung Apophis 04.01.2018 um 15:28:44 Uhr
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
AcJoker
AcJoker 06.01.2018 aktualisiert um 00:08:54 Uhr
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