kileo20
Goto Top

Spalte in csv löschen

Hi,

ich verzweifle gerade an einem batch file:

(for /f "tokens=1,2,4,5 delims=;" %%i in (*.csv) do echo %%i,%%j,%%l,%%m) > output.csv

in der output.csv ist zwar die 3. Zeile gelöscht aber die sieht dann in so aus

C:/Pfad/ a,b,d,e
a,b,d,e

C:/PFAD/ f,g,i,j
f,g,i,j

Etc.

Ich finde einfach nicht den Grund warum immer in der output.csv erst der Pfad angeben angeben wird in in der nächsten Zeile dann das richtige Ergebnis steht.

Mein Ziel:

a,b,d,e
f,g,i,j

Vorab vielen Dank für eure Hilfe, Gruß Kileo

Content-ID: 3466079368

Url: https://administrator.de/forum/spalte-in-csv-loeschen-3466079368.html

Ausgedruckt am: 06.04.2025 um 19:04 Uhr

TK1987
TK1987 28.07.2022 aktualisiert um 00:32:30 Uhr
Goto Top
Moin,

bitte immer das exakte Skript sowie beispielhafte Daten zur Verarbeitung posten. Dein obiger Code kann so überhaupt nicht funktionieren und das von die beschriebene Verhalten lässt sich dementsprechend auch nicht nachzuvollziehen.

Zitat von @Kileo20:
1
"tokens=1,2,4,5" [...] echo %%i,%%j,%%l,%%m  
mit den Tokens definierst du hier 4 Schleifenvariablen beginnend bei %%i - also: %%i,%%j,%%k und %%l.
Die Variable %%m hat demnach nie einen Inhalt - und da du den 3. Token bereits ausgelassen hast, gäbe es auch keinen Grund mehr, Variable %%k zu überspringen (der echo-Befehl würde also wiederum nur in Verbindung mit "Tokens=1-5" Sinn ergeben).

Das du die Semikolons als Trennzeichen in der Output.csv durch Kommas ersetzt ist Absicht?

*.csv
dürfte hier eigentlich so auch nicht funktionieren, weil for /f keine wildcards im Dateiensatz akzeptiert. Dementsprechen bräuchtest du hier eine verschachtelte for-schleife
1
2
3
@echo off

(for %%A in (*.csv) do for /f "Tokens=1,2,4,5 Delims=;" %%I in (%%A) do echo %%I,%%J,%%K,%%M) >output.csv  

Dies führt allerdings zu einem Fehler, wenn die output.csv im selben Ordner wie die Quelldateien liegen, da mit "*.csv" in dem Fall auch bereits versucht wird, auf die output.csv zuzugreifen.

Gruß Thomas

PS: Bitte zukünftig Codetags nutzen.
Kileo20
Kileo20 28.07.2022 um 19:11:53 Uhr
Goto Top
Vielen Dank Thomas! Ich hab die Tokens geändert, funktioniert einwandfrei. Big like für die detaillierte Erklärung

Gruß
Kileo