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 zeilenumbruch alle 20 zeichen in textdatei (als Batch in Win2k)

Mitglied: pepsmier

pepsmier (Level 1) - Jetzt verbinden

27.01.2008, aktualisiert 28.01.2008, 14877 Aufrufe, 5 Kommentare

Text in einer txt-Datei besteht aus einer Zeile mit ca 200 Zeichen. In diesen Text soll alle 20 Zeichen ein Zeilenumbruch eingefügt werden. Die Ausgabe soll in einer neuen txt-Datei erscheinen.

Hallo,

ich habe folgendes Problem:
Ein Programm gibt einen Text in einer Textdatei aus. Dieser Text erscheint dann in der Datei eingabe.txt in einer Zeile ungefähr nach dem Muster:

"Adressat" "Das hier ist der Mustertext. Dieser soll nur für irgendetwas stehen" 01.01.2008 12:00:00,00

Jetzt soll eine Batchdatei dafür sorgen, dass der Inhalt der Datei eingabe.txt alle 20 Zeichen mit einem Zeilenumbruch versehen wird. Das Ergebnis soll in eine Datei ausgabe.txt geschrieben werden. Der Inhalt soll also folgendermaßen aussehen:

"Adressat" "Das hier
ist der Mustertext.
Dieser soll nur für
irgendetwas stehen"
01.01.2008 12:00:00
,00

(auf Worttrennung soll nicht geachtet werden, es soll nur exakt nach 20 Zeichen eine neue Zeile begonnen werden).
Ich habe in diesem Forum schon von einem Befehl "FOR /F" gelesen, jedoch verliefen meine Experimente damit nicht erfolgreich, da ich die Syntax noch nicht koplett verstehe. Kann mir jemand sagen, wie ich das Problem gelöst bekomme?

Hintergrund der ganzen Sache ist, dass ich eine Textdatei auf einem LC-Display ausgeben möchte, die nur 20 Zeichen Platz pro Zeile hat.

Ich habe schon mehrere Foren nach meinem Problem gesucht, jedoch bis auf "FOR /F" nicht annähernd die richtige Lösung gefunden. Wenn ich jedoch einen Artikel im Forum übersehen habe, so bitte ich um Nachsicht und Angabe des Links in diesem Thread.

Vielen Dank bis hierhin und viele Grüße

Pepsmier
Mitglied: miniversum
27.01.2008 um 19:00 Uhr
Versuchs mal so:
01.
@echo off 
02.
set /p text=<eingabe.txt 
03.
:cuttext 
04.
echo %text:~0,20%>>ausgabe.txt 
05.
set text=%text:~20% 
06.
if [%text%] neq [] goto:cuttext
miniversum
Bitte warten ..
Mitglied: bastla
27.01.2008 um 19:29 Uhr
Hallo pepsmier und willkommen im Forum!

Falls ein wenig temporäres VBScript (dieses kommt besser mit Sonderzeichen etc zurecht) nicht stört:
01.
@echo off & setlocal 
02.
set "Ein=D:\Eingabe.txt" 
03.
set "Aus=D:\Ausgabe.txt" 
04.
 
05.
set S20=%temp%\Split20.vbs 
06.
echo Set fso=CreateObject("Scripting.FileSystemObject"):Text=fso.OpenTextFile("%Ein%",1).ReadAll>%S20% 
07.
echo Set Aus=fso.OpenTextFile("%Aus%",2,True):For i=1 To Len(Text) Step 20:Aus.WriteLine Mid(Text,i,20):Next:Aus.Close>>%S20% 
08.
cscript //nologo %S20% 
09.
del %S20%
Alternativ könnten die ersten beiden Zeilen so aussehen:
01.
set "Ein=%~1" 
02.
set "Aus=%~dpn1-20%~x1"
Damit könntest Du zB per Drag&Drop auf die Batchdatei aus zB "D:\Text.txt" die Datei "D:\Text-20.txt" erzeugen.

Grüße
bastla

[Edit] Alternative für Verwendung mit Parameter-Übergabe ergänzt. [/Edit]
Bitte warten ..
Mitglied: Biber
27.01.2008 um 21:03 Uhr
Moin Pepsmier,

auch von mir willkommen im Forum.
Damit Du auch eine FOR /F -Variante in der Skizzensammlung hast, gehe ich mal von diesem Satz aus:
Ich habe in diesem Forum schon von einem Befehl "FOR /F" gelesen, jedoch verliefen meine Experimente damit nicht erfolgreich, da ich die Syntax noch nicht koplett verstehe. Kann mir jemand sagen, wie ich das Problem gelöst bekomme?
...und speichere den in der Datei "RaffINed.txt".
Mit diesem Schnipsel...
01.
::------snipp split20.cmd 
02.
@echo off & setlocal enableDelayedExpansion 
03.
For /F "delims=" %%i in (RaffINed.txt) do ( 
04.
Set "Line=%%~i"  
05.
For /L %%j in (0,20,180) do if "!line:~%%j,20!" NEQ "" @echo !line:~%%j,20! 
06.
)
...erhältst Du
01.
$cmd$split20.cmd 
02.
Ich habe in diesem F 
03.
orum schon von einem 
04.
 Befehl "FOR /F" gel 
05.
esen, jedoch verlief 
06.
en meine Experimente 
07.
 damit nicht erfolgr 
08.
eich, da ich die Syn 
09.
tax noch nicht kople 
10.
tt verstehe. Kann mi 
11.
r jemand sagen, wie
Und Antworten auf die Frage nach der Syntax liefert am CMD-Prompt "FOR /?".

Grüße
Biber

[Edit Tippfehlerberichtigung 28.1.2008 Biber]
Bitte warten ..
Mitglied: pepsmier
28.01.2008 um 16:01 Uhr
Hallo zusammen,

vorerst vielen Dank für die hilfreichen Beiträge. Die Lösung für mein Problem war schnell gefunden. Die Methode von miniversum habe ich ausprobiert. Die hat jedoch auf meinem System nicht funktioniert, vielleicht habe ich mich auch irgendwo vertan. Die Lösung von bastla mit VBScript verstehe ich zwar auch nicht im einzelnen (komme auch eher aus der java Ecke), jedoch hat diese sofort funktioniert.

Dankeschön an alle die sich mit dem Thema befasst haben und noch einen schönen Tag!

Grüße

Pepsmier
Bitte warten ..
Mitglied: bastla
28.01.2008 um 16:38 Uhr
Hallo pepsmier!

Die Lösung von bastla mit VBScript verstehe ich zwar auch nicht im einzelnen
So können wir das hier nicht stehen lassen ...

Als (ausnahmsweise kommentiertes) VBScript sähe das so aus:
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
'Objekt für Zugriff auf das Dateisystem - schwer zu erraten ... 
03.
 
04.
Text = fso.OpenTextFile("%Ein%",1).ReadAll 
05.
'Öffne die Datei %Ein% (wird beim Erstellen des Scripts durch den Inhalt der 
06.
'	Batch-Variablen ersetzt) und lies den gesamten Inhalt in die Variable "Text" ein. 
07.
 
08.
Set Aus = fso.OpenTextFile("%Aus%",2,True) 
09.
'Ausgabedatei (wieder lt Batch-Variable) zum Schreiben öffnen 
10.
 
11.
For i = 1 To Len(Text) Step 20 
12.
'Zählschleife von 1 bis "Textlänge" (= Zeichenanzahl des Textes) mit Schrittweite 20 
13.
 
14.
	Aus.WriteLine Mid(Text, i, 20) 
15.
	'Lies ab Position i des Textes 20 Zeichen (oder so viele, wie noch - am Ende des Textes - 
16.
	'	vorhanden sind) und schreibe diese sowie einen Zeilenumbruch in die Ausgabedatei. 
17.
 
18.
Next 
19.
'Schleifenende 
20.
 
21.
Aus.Close 
22.
'Ausgabedatei schließen
Dieses Script wird unter dem Namen "Split20.vbs" zur Laufzeit durch die Batchdatei im %Temp%-Verzeichnis erzeugt, über "cscript.exe" als Konsolenversion ausgeführt und wieder gelöscht.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Per Batch Zeichen in Textdatei durch zeilenumbruch ersetzen

Frage von CreamyCewieBatch & Shell3 Kommentare

Hallo, ich habe folgende textdatei (test.txt) "þUEBERþNþSKZþBELþVARTþ3þaaþ5 þacþL þadþ20150385#umbr# UEBERþNþBELDATER" ich brauche nun ein Batch-Script welches mir die gesamte TXT-Datei ...

Batch & Shell

Zeilenumbruch nach 40 zeichen hinzufügen

gelöst Frage von kunzibusBatch & Shell4 Kommentare

Hallo Community, ich lese von einem Zeitterminal die Stempeldaten aus. Die Datei heißt allebuchungen.txt. Wenn ich das ganze mit ...

Batch & Shell

Zeichen per Batch in Textdatei suchen und vergleichen

Frage von grabo01Batch & Shell2 Kommentare

Hallo zusammen, ich könnte Hilfe brauchen. Ich möchte in einer Textdatei per Batch eine neue Zeile einfügen. Die Herausforderug ...

Microsoft Office

Benutzernamen Kurzen bei mehr als 20 Zeichen?

Frage von SystemlordMicrosoft Office1 Kommentar

Servus zusammen, Ich lege meine User im Server mit ADScripter an. Damit die User angelegt werden werden diese zuvor ...

Neue Wissensbeiträge
Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 1 TagHumor (lol)4 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 1 TagExchange Server6 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 2 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 2 TagenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Heiß diskutierte Inhalte
Windows Server
Windows Server per Web auf Daten zugreifen und verwalten
Frage von matze2090Windows Server16 Kommentare

Hallo, ich würde gerne von außen auf meinem Windows Server zugreifen um auf meine Daten zu verwalten. Meine frage ...

DSL, VDSL
Router Neustarts
Frage von XerebusDSL, VDSL16 Kommentare

Hallo an alle, ich hab eine Problem mit dem Neustart von meiner Fritz Box wo ich einfach nicht mehr ...

Netzwerke
Netzwerk-Architektur mit VLANs
Frage von niLuxxNetzwerke13 Kommentare

Liebe Community, Ich hätte eine kurze Frage an euch. Ich werde in Kürze das Netzwerk unserer (sehr) kleinen Firma ...

Webbrowser
Neuer Tab Firefox
gelöst Frage von BleifussWebbrowser12 Kommentare

Hallo, via Strg + T öffnet man ja einen neuen Tab. Gibt es die Möglichkeit, dass der Tab sich ...