Via Batch in CSV Datei erste Zeile löschen und eine Spalte kopieren
Hallo nochmal,
ich bin absoluter Anfänger in Batch, hab aber die Forums Suchfunktion sowie Google benutzt aber noch immer nichts Passendes gefunden - sorry.
Problemstellung:
Ich habe eine .csv Datei in der ich die erste Zeile ersetzen und dann die zweite Spalte duplizieren muß. Das mit dem Erste Zeile ersetzen hab ich bereits im Forum gefunden und es funktioniert auch prima. Leider hab ich nichts gefunden wie ich eine vorhandene Spalte kopieren und als neue Spalte wieder in selbige Datei einfügen kann.
Beispiel:
Hier der Code der die erste Zeile mit meinen Spaltenüberschriften ersetzt:
Von der Reihenfolge her muß ich ja, da die erste Zeile keine Delimeter aufweist, zuerst die erste Zeile löschen, dann die Spalte kopieren und dann die neue erste Zeile hinzufügen.
Ich hab das hier im Forum gefunden zum Löschen der ersten Zeile aber es funktioniert nicht
Was das Duplizieren der zweiten Spalte angeht hab ich garnichts gefunden. Wahrscheinlich auch wieder was mit aber ich schaffs nicht. Kann mir hier bitte jemand helfen? Auch und ich hab nirgends im Internet eine vernünftige Anleitung zu Batch gefunden (z.B. delim war nirgends erklärt) - Vielen Dank schonmal. Scheint ne sehr kompetente Community zu sein.
ich bin absoluter Anfänger in Batch, hab aber die Forums Suchfunktion sowie Google benutzt aber noch immer nichts Passendes gefunden - sorry.
Problemstellung:
Ich habe eine .csv Datei in der ich die erste Zeile ersetzen und dann die zweite Spalte duplizieren muß. Das mit dem Erste Zeile ersetzen hab ich bereits im Forum gefunden und es funktioniert auch prima. Leider hab ich nichts gefunden wie ich eine vorhandene Spalte kopieren und als neue Spalte wieder in selbige Datei einfügen kann.
Beispiel:
blablablalblalb blablabl balblabl
015901;1;0/0
018030;0;46/2011
018035;1;0/0
018512;1;0/0
Hier der Code der die erste Zeile mit meinen Spaltenüberschriften ersetzt:
REM Spaltennamen in Datei bestand.csv schreiben in die erste Zeile (ersetzen) mittels temporärer Datei
(echo ART_NO;VERFUEG;TERMIN;VERFUEG2)>bestand-temp.csv && type bestand.csv|more +1>>bestand-temp.csv && move /y bestand-temp.csv bestand.csv
Von der Reihenfolge her muß ich ja, da die erste Zeile keine Delimeter aufweist, zuerst die erste Zeile löschen, dann die Spalte kopieren und dann die neue erste Zeile hinzufügen.
Ich hab das hier im Forum gefunden zum Löschen der ersten Zeile aber es funktioniert nicht
for /f "tokens=1,* delims=; %%a in (bestand.csv) do call :zeile %%a
goto :ende
:zeile
set /a i+= 1
if %i% gtr 1 echo %* >> %datei%.new
GOTO :eof
:ende
ren %datei% %datei%.bak
ren %datei%.new %datei%
Was das Duplizieren der zweiten Spalte angeht hab ich garnichts gefunden. Wahrscheinlich auch wieder was mit
for /f token *,2 ...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 175298
Url: https://administrator.de/contentid/175298
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
5 Kommentare
Neuester Kommentar
Aloha,
nun, da du ja schon selbst am rumpfuschen bist , glaube ich, dass du irgendwie unseren geliebten Tutorial zur FOR-Schleife nicht wirklich dir genauer angesehen hast ... schade eigentlich
Wohin soll die zweite Spalte eigentlich dupliziert werden? Ans Ende oder mitten rein (und wenn ja, wo genau)?
greetz André
P.S.: Mahlzeit erstmal Mittag
P.P.S.: Alles lustig blaue sind links
nun, da du ja schon selbst am rumpfuschen bist , glaube ich, dass du irgendwie unseren geliebten Tutorial zur FOR-Schleife nicht wirklich dir genauer angesehen hast ... schade eigentlich
Wohin soll die zweite Spalte eigentlich dupliziert werden? Ans Ende oder mitten rein (und wenn ja, wo genau)?
greetz André
P.S.: Mahlzeit erstmal Mittag
P.P.S.: Alles lustig blaue sind links
... einige links wurden wohl nie angeklickt ... wie verschiebe ich einen Beitrag ...
Nunja, eigentlich haben wir so viele Anleitungen, da kann man etwas garnicht nicht finden
Aber gut ..
Man kann natürlich auch per
greetz André
Nunja, eigentlich haben wir so viele Anleitungen, da kann man etwas garnicht nicht finden
Aber gut ..
@echo off & setlocal
set "orig=E:\Skripte\test.csv"
set "datei=E:\Skripte\test_neu.csv"
>"%datei%" echo ART_NO;VERFUEG;TERMIN;VERFUEG2
for /f "tokens=1,2,* delims=;" %%s in ('type "%orig%"^|more +1') do >>"%datei%" echo %%s;%%t;%%u;%%t
Man kann natürlich auch per
temp
-Zeugs und move
das Neue zum Alten machen, wie man will ...greetz André
Moin, du Sternenseelchen,
Danke
Biber
Zitat von @Starsoul:
Ich versprech Dir, ich werd das Tutorial zur FOR Schleife durcharbeiten bis ichs kann!
Könntest du zusätzlich oder meinetwegen alternativ zu diesem ProjektIch versprech Dir, ich werd das Tutorial zur FOR Schleife durcharbeiten bis ichs kann!
- den Beitrag von "Windows oder was" nach "Batch & Shell" verschieben?
- einen Himbeer-für-Farbenblinde-farbenen Haken an den Beitrag setzen?
Danke
Biber