Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Txt-Datei Zeilenumbruch nach Stelle X

Frage Entwicklung Batch & Shell

Mitglied: BalloS

BalloS (Level 1) - Jetzt verbinden

09.11.2011 um 15:01 Uhr, 3620 Aufrufe, 6 Kommentare

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:

01.
@echo off & setlocal 
02.
set "File=C:\Test.txt" 
03.
set "bak=.bak"  
04.
set "Ins=00"  
05.
 
06.
set S=%temp%\IZ.vbs 
07.
> %S% echo Set fso=CreateObject("Scripting.FileSystemObject") 
08.
>>%S% echo F=WScript.Arguments(0) 
09.
>>%S% echo T=Split(fso.OpenTextFile(F).ReadAll,vbLF) 
10.
>>%S% echo For i=0 To UBound(T)-1:T(i)="%Ins%"^&T(i):Next 
11.
>>%S% echo fso.CreateTextFile(F,True).Write Join(T,vbLF) 
12.
 
13.
copy "%File%" "%File%%bak%">nul 
14.
cscript //nologo %S% "%File%"
Quelle: https://www.administrator.de/forum/mit-batch-in-txt-datei-an-bestimmter- ...


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
Mitglied: bastla
09.11.2011 um 16:41 Uhr
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:
01.
@echo off & setlocal 
02.
set "File=C:\Test.txt" 
03.
set "bak=.bak"  
04.
set "L=380"  
05.
 
06.
set S=%temp%\IZ.vbs 
07.
> %S% echo Set fso=CreateObject("Scripting.FileSystemObject") 
08.
>>%S% echo F=WScript.Arguments(0) 
09.
>>%S% echo T=Split(fso.OpenTextFile(F).ReadAll,vbCrLf) 
10.
>>%S% echo For i=0 To UBound(T):T(i)=Left(T(i),%L%)^&vbCrLf^&Mid(T(i),%L%+1):Next 
11.
>>%S% echo fso.CreateTextFile(F).Write Join(T,vbCrLf) 
12.
 
13.
copy "%File%" "%File%%bak%">nul 
14.
cscript //nologo %S% "%File%"
Grüße
bastla
Bitte warten ..
Mitglied: BalloS
09.11.2011 um 17:46 Uhr
Hi,

danke. Aber leider funktioniert dies auch nicht.

Er erstellt die Backupdatei, aber das wars. Leider habe ich nicht so viel Verständnis, dass ich es selber korrigieren könnte.

gruss
BalloS
Bitte warten ..
Mitglied: bastla
09.11.2011 um 18:10 Uhr
Hallo BalloS!

Inzwischen habe ich das Script, und zwar mit Erfolg, getestet ...

Wo liegt denn die Testdatei bei Dir, und welches BS verwendest Du? Teste mit einer Datei in einem Ordner, in dem Du sicher Schreibrechte hast ...

Grüße
bastla
Bitte warten ..
Mitglied: BalloS
09.11.2011 um 19:22 Uhr
Hallo,

hab die Datei im Root einer Partition liegen, wo ich auf jeden Fall Schreibrechte habe.

OS ist Win7 64bit, es soll aber später auf Win XP 32bit laufen.


Und es funktioniert nicht. Es zerteilt die Datei zwar teilweise in 380 Zeichen lange Zeilen. Leider nicht komplett.

Manche Zeilen sind kürzer, manche sind immernoch so lang, wie vorher. Es werden willkürlich Leerezilen oder Zeilen mit 2-5 Zeichen gesetzt.


Vielleicht muss ich mehr zur Ausgangsdatei sagen.

Es ist eine Text Datei mit einer Zeilenlänge bis 10.000 Zeichen. Dies können alle Zeichen sein, die im DOS-Zeichensatz zur Verfügung stehen. Leerzeichen sind in diesem Fall ebenfalls Zeichen, die gezählt werden müssen. Es kann auch sein, dass eine Zeile mal kürzer ist, aber die nächste dann wieder 10.000 Zeichen lang ist.

Diese Datei soll nun aufgeteilt werden. Und zwar in eine Datei, wo jede Zeile gefüllt ist und jede Zeile immer 380 Zeichen lang ist.


Das Script soll also die Ursprungsdatei abarbeiten und immer 380 Zeichen nehmen, in eine Zeile schreiben, dann die nächsten 380 Zeichen nehmen und in der neuen Datei in die zweite Zeile schreiben, usw....


gruss
BalloS
Bitte warten ..
Mitglied: bastla
09.11.2011 um 20:08 Uhr
Hallo BalloS!
Es zerteilt die Datei zwar teilweise in 380 Zeichen lange Zeilen. Leider nicht komplett.
klingt aber etwas anders als
Er 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
Grüße
bastla
Bitte warten ..
Mitglied: BalloS
10.11.2011 um 11:37 Uhr
Also es funktioniert nun. Sehr gut sogar :D

Vielen Dank
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wie ersetze ich in einer .txt ein Lehrzeichen mit einen Zeilenumbruch?
gelöst Frage von AlexIOTBatch & Shell4 Kommentare

Hallo Zusammen, ich hoffe Ihr könnt mir helfen: folgende Ausgangssituation: Inhalt der .txt-Datei: Vorname Nachname, Abteilungskürzel <Mailadresse>; Vorname Nachname, ...

Microsoft Office
Excel VBA: mehrere txt-Dateien importieren, Zeilenumbruch als Trennzeichen
gelöst Frage von jojojoMicrosoft Office11 Kommentare

Hallo zusammen. seit ein paar Tagen versuche ich vergeblich (weil ich praktisch keine Ahnung von Makros bzw. VBA habe) ...

Batch & Shell
Powershell: Das erste Wort einer txt-Datei in zwei weiteren txt-Dateien an erster Stelle kopieren
gelöst Frage von Frank2017Batch & Shell6 Kommentare

Hallo! Versuche mit Powershell das erste Wort aus einer txt-Datei im 1. Ordner in zwei weiteren txt-Dateien im 2.Ordner ...

Batch & Shell
Zeilenumbrüche in mehreren Dateien eines Ordners entfernen
gelöst Frage von TranministratorBatch & Shell2 Kommentare

Hallo liebe Admins, habe folgenden Code welcher ganz gut funktioniert und alle Zeilenumbrüche EINER bestimmten Datei entfernt. Jetzt ist ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 3 StundenWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 5 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...