m4dddd
Goto Top

komplette Zeilen aus einer CSV-Datei löschen

Hallo ich habe folgendes Problem bei einer täglich erstellten CSV-Datei. Der Aufbau davon ist folgender:

"123456789ABC";"755123";"AA08-01234";"Name1"
"234567891ASD";"755124";"AA08-01235";"Name2"
"567891234WTR";"755125";"AA08-01236";"Name3"

Bei einigen Zeilen fehlen aber Datensätze (ist immer die AA08-Nummer). Das sieht ungefähr dann so aus:

"678912345MNH";"755126";;"Name4"

Wie kann ich über eine Batchdatei realisieren, dass diese Zeilen komplett gelöscht werden?

Content-Key: 84459

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

Printed on: April 25, 2024 at 16:04 o'clock

Member: bastla
bastla Apr 01, 2008 at 15:35:31 (UTC)
Goto Top
Hallo m4dddd!

Wenn Du nur alle Zeilen, welche "AA08-" enthalten, weiter verwenden kannst, müsste folgendes genügen:
@echo off & setlocal
set "CSV=D:\Deine CSV-Datei.csv"  

set "T=%temp%\CSVTemp.tmp"  
findstr /c:"AA08-" "%CSV%">"%T%"  
move "%T%" "%CSV%">nul  

Anderenfalls könntest Du vielleicht auf das Vorkommen zweier aufeinanderfolgender ";" prüfen und diese Zeilen entfernen:
@echo off & setlocal
set "CSV=D:\Deine CSV-Datei.csv"  

set "T=%temp%\CSVTemp.tmp"  
findstr /v /c:";;" "%CSV%">"%T%"  
move "%T%" "%CSV%">nul  

Bitte zum Testen nur mit Kopien arbeiten ... face-wink

Grüße
bastla
Member: m4dddd
m4dddd Apr 01, 2008 at 16:14:38 (UTC)
Goto Top
Super! Vielen Dank für die schnelle Antwort! Genau das habe ich gesucht! face-smile