Textdatei in neue Datei schreiben - dabei erste Zeile entfernen, überschrift und zeilenweise Text hinzufügen
Hallo ihr Lieben,
ich habe eine Textdatei in der Form
und möchte diese nun in eine neue Datei schreiben. Dabei möchte ich die erste Zeile entfernen, eine weitere Überschrift hinzufügen und in jede weitere Zeile somit auch neuen (gleichbleibenden) Inhalt. Folgenden Code versuche ich:
Leider erhalte ich eine Fehlermeldung. Lasse ich die Ergänzungen in Zeile 11 und 12 weg funktioniert es (die Datei wird ohne die erste Zeile kopiert). Ich vermute also, dass ich einen Syntaxfehler begehe mit den Ergänzungen?
Leider kenne ich mich nicht sehr gut aus und habe meinen Startcode auch hier aus dem Forum, hoffe also auf kompetente Hilfe (-:
Einen lieben Gruß
One
ich habe eine Textdatei in der Form
#Protokollzeile
Überschrift1;Überschrift2;Überschrift3
Inhalt1;Inhalt2;Inhalt3
Inhalt1;Inhalt2;Inhalt3
Inhalt1;Inhalt2;Inhalt3
und möchte diese nun in eine neue Datei schreiben. Dabei möchte ich die erste Zeile entfernen, eine weitere Überschrift hinzufügen und in jede weitere Zeile somit auch neuen (gleichbleibenden) Inhalt. Folgenden Code versuche ich:
@echo off & setlocal
set szenario=szenario
set "Datei=Datei.csv"
set "Enddatei=..\Datei%szenario%.csv"
set "Erste="
for /f "delims=" %%i in ('dir /b /o-d "%Datei%" 2^>nul') do set "Erste=%%i"
if not defined Erste echo Keine passenden Dateien gefunden! & goto :eof
>"%Enddatei%" more +1 "%Erste%;Szenario"
for /f "skip=1 delims=" %%i in ('dir /b /od "%Datei%"') do >>"%Enddatei%" more +2 "%%i;%szenario%;%szenario%"
Leider erhalte ich eine Fehlermeldung. Lasse ich die Ergänzungen in Zeile 11 und 12 weg funktioniert es (die Datei wird ohne die erste Zeile kopiert). Ich vermute also, dass ich einen Syntaxfehler begehe mit den Ergänzungen?
Leider kenne ich mich nicht sehr gut aus und habe meinen Startcode auch hier aus dem Forum, hoffe also auf kompetente Hilfe (-:
Einen lieben Gruß
One
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 292365
Url: https://administrator.de/contentid/292365
Ausgedruckt am: 24.11.2024 um 23:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo sirOne!
Was Du vorhast sollte eher so funktionieren:
Der Code von oben hatte als Zielsetzung, mehrere CSV-Dateien zusammenzufassen, aber die Überschrift nur ein einziges Mal (in die erste Zeile der Zieldatei) zu schreiben - daher die Verwendung von "
BTW: Willst Du tatsächlich nur eine Feldüberschrift ("Szenario"), aber zwei Felder (%szenario%;%szenario%) hinzufügen?
Grüße
bastla
Was Du vorhast sollte eher so funktionieren:
@echo off & setlocal
set szenario=szenario
set "Datei=Datei.csv"
set "Enddatei=..\Datei%szenario%.csv"
set "Ueber="
for /f "usebackq skip=1 delims=" %%i in ("%Datei%") do (
if not defined Ueber (
set "Ueber=done"
>"%Enddatei%" echo %%i;Szenario
) else (
>>"%Enddatei%" echo %%i;%szenario%;%szenario%
)
)
more
". UmText in eine Datei zu schreiben, wird "echo
" verwendet ...BTW: Willst Du tatsächlich nur eine Feldüberschrift ("Szenario"), aber zwei Felder (%szenario%;%szenario%) hinzufügen?
Grüße
bastla