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, 15202 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-Zeilen-Vorschub entfernen? (Batch)

gelöst Frage von clragonBatch & Shell9 Kommentare

Hallo Leute, Ich bin's wieder, mit einem verzwickten Problem. Und ich hab folgendes Problem Ich habe eine riesige Logfile ...

Batch & Shell

Batch 20 Sekunden später ausführen

gelöst Frage von MarcysBatch & Shell11 Kommentare

Hallo, ich benötige etwas Hilfe von euch. Ich habe eine Batchdatei , mit dem Ihnahlt: net time \\zeitserver /set ...

Batch & Shell

Batch Textdatei Spaltenweise auslesen

Frage von PinkFLuffyUnicornBatch & Shell7 Kommentare

hi, ist es irgendwie möglich anstatt eine Textdatei via Batch Spaltenweise auszulesen und nicht zeilenweise wie das normal ganz ...

Neue Wissensbeiträge
Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 12 StundenWindows 101 Kommentar

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 15 StundenSicherheit5 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Microsoft Office
TEAMS - Skype for business
Tipp von Nebellicht vor 15 StundenMicrosoft Office

Hallo, ms ersetzt Skype for business durch TEAMS. Also, nicht wundern wenn mit der OFFICE365 Umgebung kein Skype for ...

Windows 10

Windows 10: Cortana und die Suche gehen bald wieder eigene Wege

Information von Frank vor 19 StundenWindows 102 Kommentare

Microsoft hat einen neuen Insider Build von Windows 10 veröffentlicht (Fast Ring, Version 18317), wo die digitale Assistentin "Cortana" ...

Heiß diskutierte Inhalte
Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs22 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Debian
OpenSSH Login mit Public Key schlägt fehl, mit Passwort funktioniert
gelöst Frage von DKowalkeDebian19 Kommentare

Hallo zusammen, ich hatte hier schon nach einer Anleitung für einen SFTP Server mit Linux gefragt, habe dort auch ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...