jabali07
Goto Top

Delimiter

Hallo @all,

habe eine Frage: Wenn man aus einem csv-file nur bestimmte 'tokens' ausgegeben haben möchte und dies über eine FOR-Anweisung macht, ist es dann möglich, zu definieren, dass man nur das erste, und das letzte token haben möchte, egal wieviel tokens dazwischen liegen? Danke für Eure Hilfe.

Gruß
jabali07

Content-Key: 110618

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

Printed on: April 18, 2024 at 23:04 o'clock

Member: bastla
bastla Mar 05, 2009 at 12:32:07 (UTC)
Goto Top
Hallo jabali07!

Etwa so (wenn keine "\" in der Datei enthalten sind):
@echo off & setlocal
set "Datei=D:\Deine.csv"  
set "Delim=;"  

for /f "usebackq delims=" %%i in ("%Datei%") do set "Zeile=%%i" & call :ProcessLine  
goto :eof

:ProcessLine
for /f "delims=%Delim%" %%a in ("%Zeile%") do set "Erstes=%%a"  
call set Zeile=%%Zeile:%Delim%=\%%
for /f "delims=" %%a in ("%Zeile%") do set "Letztes=%%~nxa"  
echo %Erstes%_%Letztes%
goto :eof
Grüße
bastla
Member: Biber
Biber Mar 05, 2009 at 12:41:34 (UTC)
Goto Top
Moin jabali07,

  • "das erste Token" wirst Du immer ansprechen können als "token=1".
  • "das letzte Token" kannst Du immer nur ansprechen unter der Ordinal-Ziffer (i.e. "Tokens=17" beim 17ten Token etc.]

Wenn insgesamt weniger als 33 Tokens in einer Zeile sind, dann geht es problemlos.
Falls die CSV-Datei mehr als diese Anzahl Tokens enthält-->bitte mehr Details.

Grüße
Biber
Member: jabali07
jabali07 Mar 06, 2009 at 13:32:59 (UTC)
Goto Top
@bastla/Biber: Man bekommt hier immer sofort Hilfe. Herzlichen Dank dafür!

Gruß jabali07
Member: bastla
bastla Mar 06, 2009 at 14:34:22 (UTC)
Goto Top
Hallo jabali07!

Danke für den Dank face-smile

Hast Du damit schon Deine Lösung? Falls ja, bitte zumindest noch einen How can I mark a post as solved? für den Beitrag ...

Grüße
bastla

[Edit] Danke face-smile [/Edit]