Wie füge ich ein Zeilenendezeichen in eine Textdatei ein?
Hallo Gemeinde, ein Hilferuf nach schon einigen Stunden des wurschtelns..:
Ich habe eine Textdatei (.asc/.txt) die kein Zeilenendezeichen enthält. Die Satzstruktur der Daten ist bekannt: 32 Felder mit jeweils bekannter Länge, gesamte Satzlänge eines Datensatzes 372 Zeichen. Es sind keine Trennzeichen zwischen den Feldern bzw. zwischen den Sätzen, alles hintereinander weggeschrieben, also auch die Folgesätze. Ein manuelles Bearbeiten der Datei (2,5MB) entfällt aufgrund der Datenfülle.
Da ich mit einer defenitiven Satzlänge und einem Zeilenendezeichen (CR/LF) oder einem anderen Satztrenner (TAB od. Semikolon) in EXCEL weiterkomme, wäre mir mit einem kleine Basicscript oder einer Batch-Datei seeehr geholfen.
Vielen Dank im Voraus.
Ich habe eine Textdatei (.asc/.txt) die kein Zeilenendezeichen enthält. Die Satzstruktur der Daten ist bekannt: 32 Felder mit jeweils bekannter Länge, gesamte Satzlänge eines Datensatzes 372 Zeichen. Es sind keine Trennzeichen zwischen den Feldern bzw. zwischen den Sätzen, alles hintereinander weggeschrieben, also auch die Folgesätze. Ein manuelles Bearbeiten der Datei (2,5MB) entfällt aufgrund der Datenfülle.
Da ich mit einer defenitiven Satzlänge und einem Zeilenendezeichen (CR/LF) oder einem anderen Satztrenner (TAB od. Semikolon) in EXCEL weiterkomme, wäre mir mit einem kleine Basicscript oder einer Batch-Datei seeehr geholfen.
Vielen Dank im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 114289
Url: https://administrator.de/forum/wie-fuege-ich-ein-zeilenendezeichen-in-eine-textdatei-ein-114289.html
Ausgedruckt am: 22.04.2025 um 09:04 Uhr
12 Kommentare
Neuester Kommentar

Hallo muck2000,
einfach in einem cmd Fenster oder Batch ausführen:
geht auch andersrum
Gruß
LotPings
einfach in einem cmd Fenster oder Batch ausführen:
Echo.>>VorhandeDatei.txt
>>VorhandeDatei.txt Echo.
Gruß
LotPings
Hallo Muck2000 und willkommen im Forum!
Versuch es einmal mit dem folgenden VBScript:
Grüße
bastla
Versuch es einmal mit dem folgenden VBScript:
DateiEin = "D:\DateiEin.txt"
DateiAus = "D:\DateiAus.txt"
L = 372
Set fso = CreateObject("Scripting.FileSystemObject")
TextGesamt = fso.OpenTextFile(DateiEin).ReadAll
Set Aus = fso.CreateTextFile(DateiAus)
For i = 1 To Len(TextGesamt) Step L
Aus.WriteLine Mid(TextGesamt, i, L)
Next
Aus.Close
bastla

Hab erst zu schnell gelesen und jetzt war bastla mal wieder schneller 
Falls OP etwas programmier Erfahrung hat käme auch auch eine komfortablere Lösung in betracht die direkt Excel Dateien erstellen kann. Auf CodeProject gibt es eine schöne unter LGPLstehende Library die ggfs alles erschlagen kann. FileHelpers v2
Gruß
LotPings
Falls OP etwas programmier Erfahrung hat käme auch auch eine komfortablere Lösung in betracht die direkt Excel Dateien erstellen kann. Auf CodeProject gibt es eine schöne unter LGPLstehende Library die ggfs alles erschlagen kann. FileHelpers v2
Gruß
LotPings
@77559

Wenn's nicht alle zwei Tage erforderlich ist, macht der Import in Excel als Textdatei "mit fester Breite" auch nicht so besonders viel Arbeit (einmal müssen die Feldlängen eben erfasst werden); abgesehen davon lässt sich das Script auch in VBA verwenden, womit sich dann ebenfalls gleich der Eintrag in eine Excel-Tabelle umsetzen lässt ...
Grüße
bastla
und jetzt war bastla mal wieder schneller 
Ausnahmsweise ... Wenn's nicht alle zwei Tage erforderlich ist, macht der Import in Excel als Textdatei "mit fester Breite" auch nicht so besonders viel Arbeit (einmal müssen die Feldlängen eben erfasst werden); abgesehen davon lässt sich das Script auch in VBA verwenden, womit sich dann ebenfalls gleich der Eintrag in eine Excel-Tabelle umsetzen lässt ...
Grüße
bastla

Hallo baslta,
Frage: Warum hast Du nicht
verwendet.
Gruß Dieter
Frage: Warum hast Du nicht
....
TextLine = Ein.Read(L)
Aus.WriteLine TextLine
....
verwendet.
Gruß Dieter

Zitat von @76109:
Frage: Warum hast Du nicht
verwendet.
Hallo Dieter.Frage: Warum hast Du nicht
> TextLine = Ein.Read L
> Aus.WriteLine TextLine
>
verwendet.
Weil es keinen Recordseparator gibt - der soll doch erst erzeugt werden.
Du würdest die ganze Datei lesen und genauso wieder wegschreiben.
Gruß
LotPings

Hallo LotPings,
bitte genau lesen.
Er liest mit Read(L) = Read Long Anzahl Zeichen --> L = 372 Zeichen einlesen. Next 372 Zeichen usw.
Gruß Dieter
bitte genau lesen.
Er liest mit Read(L) = Read Long Anzahl Zeichen --> L = 372 Zeichen einlesen. Next 372 Zeichen usw.
Gruß Dieter

Hallo bastla,
einen besonderen Vorteil sehe ich darin nicht unbedingt. War nur etwas verwundert, weil mir diese Funktion als einfachste in den Sinn kam.
Gruß Dieter
einen besonderen Vorteil sehe ich darin nicht unbedingt. War nur etwas verwundert, weil mir diese Funktion als einfachste in den Sinn kam.
Gruß Dieter