mit einer Batch Datei jede Zeile einer txt Datei mit einem Semikolon beenden?

2 Antworten

...eigentlich trivial....

In einer For-schleife öffnen und Zeile für Zeile in eine nue Datei schreiben...

@echo off
chcp 65001 >nul
  rem Datei leeren (oder   neu erzeugen...egal)
(call) >"neueDatei.txt"
  rem originaldatei  einlesen (tokns=*): zeile  im Ganzen
for /f "usebackq tokens=*" %%a in ("meineOriginalDatei.txt") do (
    rem semikolon an  eingelesen  Zeile anhängen und diese in neue Datei schreibeh 
  echo %%a;>>"neueDatei.txt"
)
  rem neue Datei mal anzeigen
type "neueDatei.txt"

  rem oder  öffnen
 "neueDatei.txt"
pause

...solange in den Zeilen keine Batch-Sonderzeichen &|<> enthalten sind sollte dies ausreichen...

folgende Variante ruft einfach einen Powershell-OneLiner auf, dieser ist Resistent gegen die Tücken von Batchsteuerzeichen, kann jedoch nur bedingt mit Umlauten /UTF8Zeichen umgehen.

powershell Get-Content 'meineOriginalDatei.txt'^|%%{'{0};' -f $_}^| Out-File -Encoding 'Default' 'neueDatei.txt'
pause

Da ich nicht die Komplexität deines Textes Kenne lasse ich mal ausgefallenere Varianten außen vor. Wenn nötig frag einfach noch mal nach. im Prinzip ist alles machbar

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
Erzesel  29.09.2020, 21:32

PS: scheint generell zu klappen:

demo.cmd

  rem codepage für UTF8 setzten
chcp 65001 >nul
powershell Get-Content 'meineOriginalDatei.txt'^|%%{'{0};' -f $_}^| Out-File -Encoding 'Default' 'neueDatei.txt'
pause

meineOriginalDatei.txt

Cat ipsum dolor sit amet, aliquid but eiusmod for aliquip.
bub&|<>ÄÖÜ Kyrillische Zeichn: фывЙЭЮЯ
Lorem suscipit yet voluptatem. Eu laboriosam irure qui. 
Inventore culpa ipsa yet quam, irure. Culpa. Sequi. 
Et quam, for nulla sunt for unde. Minim aliquam veniam, and illum. Ex illo yet iste yet dicta.

Cupidatat ipsum, nesciunt est quis. Labore illo or enim but veniam yet sequi amet, nihil. 
Do totam but quaerat. Odit architecto. Consequatur. Dolorem suscipit for ipsam but iste so quasi but nostrum iste.

Ausgabe in: neueDatei.txt :

Cat ipsum dolor sit amet, aliquid but eiusmod for aliquip.;
bub&|<>ÄÖÜ Kyrillische Zeichn: фывЙЭЮЯ;
Lorem suscipit yet voluptatem. Eu laboriosam irure qui. ;
Inventore culpa ipsa yet quam, irure. Culpa. Sequi. ;
Et quam, for nulla sunt for unde. Minim aliquam veniam, and illum. Ex illo yet iste yet dicta.;
;
Cupidatat ipsum, nesciunt est quis. Labore illo or enim but veniam yet sequi amet, nihil. ;
Do totam but quaerat. Odit architecto. Consequatur. Dolorem suscipit for ipsam but iste so quasi but nostrum iste.;
0

Besorg dir sed für Windows (z.B. hier), damit ist das ein Einzeiler:

sed "s/$/;/" bla.txt > bla_mit_semikolon.txt

Ich schätze dass das auch mit jedem Texteditor geht, der Suchen und Ersetzen mit Regex kann. Notepad++ oder was auch immer auf Windows so üblich ist.