Txt-Datei Zeilenumbruch nach Stelle X
Hiho,
ich habe folgendes Problem.
Ich habe eine Textdatei mit einem Variablen langen Inhalt. Diese Datei wird automatisch erstellt und kann in der Länge vaariieren.
Nun möchte ich gerne immer nach Stelle 380 einen Zeilenumbruch.
Ich habe hier schon etwas gestöbert und folgenden Beitrag gefunden, der meinem Problem sehr ähnlich ist:
Quelle: mit batch in txt datei an bestimmter stelle werte einfügen
Nun ist meine Frage.
1. Wo stelle ich ein, nach welcher Stelle das ganze passieren soll ?
2. Was muss ich nehmen um statt "00" einen Zeilenumbruch zu erhalten ?
Bin für jede Hilfe dankbar, da ich an den beiden Stellen irgendwie nicht mehr weiterkomme.
gruss
BalloS
ich habe folgendes Problem.
Ich habe eine Textdatei mit einem Variablen langen Inhalt. Diese Datei wird automatisch erstellt und kann in der Länge vaariieren.
Nun möchte ich gerne immer nach Stelle 380 einen Zeilenumbruch.
Ich habe hier schon etwas gestöbert und folgenden Beitrag gefunden, der meinem Problem sehr ähnlich ist:
@echo off & setlocal
set "File=C:\Test.txt"
set "bak=.bak"
set "Ins=00"
set S=%temp%\IZ.vbs
> %S% echo Set fso=CreateObject("Scripting.FileSystemObject")
>>%S% echo F=WScript.Arguments(0)
>>%S% echo T=Split(fso.OpenTextFile(F).ReadAll,vbLF)
>>%S% echo For i=0 To UBound(T)-1:T(i)="%Ins%"^&T(i):Next
>>%S% echo fso.CreateTextFile(F,True).Write Join(T,vbLF)
copy "%File%" "%File%%bak%">nul
cscript //nologo %S% "%File%"
Quelle: mit batch in txt datei an bestimmter stelle werte einfügen
Nun ist meine Frage.
1. Wo stelle ich ein, nach welcher Stelle das ganze passieren soll ?
2. Was muss ich nehmen um statt "00" einen Zeilenumbruch zu erhalten ?
Bin für jede Hilfe dankbar, da ich an den beiden Stellen irgendwie nicht mehr weiterkomme.
gruss
BalloS
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176020
Url: https://administrator.de/contentid/176020
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo BalloS!
Das Script passt nicht so ganz zu Deiner Vorgabe, da hier der einzufügende Teil jeweils an den Anfang einer Zeile gesetzt wird (und auch keine Windows-Zeilenschaltungen verwendet werden) - versuch es daher mit diesem (ungetesteten) Ansatz:
Grüße
bastla
Das Script passt nicht so ganz zu Deiner Vorgabe, da hier der einzufügende Teil jeweils an den Anfang einer Zeile gesetzt wird (und auch keine Windows-Zeilenschaltungen verwendet werden) - versuch es daher mit diesem (ungetesteten) Ansatz:
@echo off & setlocal
set "File=C:\Test.txt"
set "bak=.bak"
set "L=380"
set S=%temp%\IZ.vbs
> %S% echo Set fso=CreateObject("Scripting.FileSystemObject")
>>%S% echo F=WScript.Arguments(0)
>>%S% echo T=Split(fso.OpenTextFile(F).ReadAll,vbCrLf)
>>%S% echo For i=0 To UBound(T):T(i)=Left(T(i),%L%)^&vbCrLf^&Mid(T(i),%L%+1):Next
>>%S% echo fso.CreateTextFile(F).Write Join(T,vbCrLf)
copy "%File%" "%File%%bak%">nul
cscript //nologo %S% "%File%"
bastla
Hallo BalloS!
... anyhow - versuch es mit: folgender Zeile 10:
Grüße
bastla
Es zerteilt die Datei zwar teilweise in 380 Zeichen lange Zeilen. Leider nicht komplett.
klingt aber etwas anders alsEr erstellt die Backupdatei, aber das wars.
und von Umbruch nach jeweils 380 Zeichen war vorher jedenfalls nicht die Rede ...... anyhow - versuch es mit: folgender Zeile 10:
>>%S% echo For i=0 To UBound(T):TL="": For j =1 To Len(T(i)) Step %L%:TL=TL^&vbCrLf^&Mid(T(i),j,%L%):Next:T(i)=Mid(TL,3):Next
bastla