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

per Batch Zeichen in Textzeilen einfügen

Frage Entwicklung Batch & Shell

Mitglied: thorti86

thorti86 (Level 1) - Jetzt verbinden

19.09.2009 um 19:02 Uhr, 6044 Aufrufe, 3 Kommentare

Hallo,

ich möchte gerne txt Dateien mit gleichem Aufbau (Satzlänge immer gleich) per Batch wie folgt ändern:


Ursprünglicher Aufbau
43201 10090916150400100002023 4.171117
43201 10090911261700400006320 24.54246666


gewünschter Aufbau
43201 10.09.0916:15:0400100002023 4.171117
43201 10.09.0911:26:1700400006320 24.54246666


Ziel soll es sein, dass an Stelle 13 + 15 ein Punkt (.) und an Stelle 19 + 21 ein Doppelpunkt ( eingesetzt wird.

Hat jemand ein Vorschlag, wie man dies lösen kann? Habe es schon mit dem for-Befehl versucht - leider ohne Erfolg.


Danke im Voraus.
Mitglied: Biber
19.09.2009 um 20:09 Uhr
Moin thorti86,

willkommen im Forum.

Bitte in diesem Seitenarm des Forums kein "Danke im Voraus".

Du kannst die Zeilen im Batch jeweils als eine ganze Zeile einlesen, in eine Variable speichern und dann mit Substring-Funktionen aus Teilen dieser Variablen eine neue Zeile zusammenbraten.

Lösungsskizze:
01.
@echo off & setlocal 
02.
FOF /F "delims=" %%i in ("D:\EineDatei.txt") do set "line=%%" & call:ProcessLine 
03.
goto :eof 
04.
 
05.
:processline In %line% ist je eine ganze Zeile 
06.
Echo %line:~0,12%.%%line:~13,2%.%line:~15,2% usw. 
07.
goto :eof
Jeweils ein %line:~0,12% ist zu lesen als "Teilstring von %line% von Pos. 0 Länge 2 Zeichen.

Kannst ja mal, wenn der Ansatz so funktioniert, das Skript posten, meins ist nur eine Skizze.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
19.09.2009 um 20:21 Uhr
Hallo thorti86 und willkommen im Forum!

Etwa so (allerdings auf Basis Deiner Beispiele und nicht Deiner Angabe, daher Punkte an Position 9 und 11 etc):
01.
@echo off & setlocal 
02.
set "Datei=D:\Dein.txt" 
03.
set "Bak=bak" 
04.
 
05.
set /p Zeile1=<"%Datei%" 
06.
if "%Zeile1:~8,1%"=="." echo Datei bereits im richtigen Format & goto :eof 
07.
 
08.
move "%Datei%" "%Datei%.%Bak%">nul 
09.
for /f "usebackq delims=" %%i in ("%Datei%.%Bak%") do set "Zeile=%%i" & call :ProcessLine 
10.
::del "%Datei%.%Bak%" 
11.
goto :eof 
12.
 
13.
:ProcessLine 
14.
>>"%Datei%" echo %Zeile:~,8%.%Zeile:~8,2%.%Zeile:~10,4%:%Zeile:~14,2%:%Zeile:~16% 
15.
goto :eof
Soferne Du die ursprüngliche Datei (mit Zusatz ".bak") als Sicherung nicht benötigst, kannst Du die beiden Doppelpunkte in Zeile 10 entfernen.

Grüße
bastla

[Edit] @Biber: Was machst Du denn um diese Zeit hier? Und warum bin ich schon wieder so langsam? Nö, sag' lieber nix ... [/Edit]
Bitte warten ..
Mitglied: Biber
26.09.2009 um 13:29 Uhr
Moin thorti86,

wie ist denn der Status dienes Beitrags?
Kann ein Haken dran oder hast Du Rückfragen?

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Via Batch Zeichen in Textzeilen einfügen
gelöst Frage von LuceDeCielloBatch & Shell3 Kommentare

Hallo, ich habe die Lösung für mein Problem schon fast gefunden. Leider verstehe ich die Positionsangaben in dem Skript ...

Batch & Shell
Zeichen vor den letzten zwei Zeichen einfügen
gelöst Frage von JoachimKunzBatch & Shell3 Kommentare

Hallo Zusammen, ich habe ein kleines Problem und brauche eure Hilfe. Ich habe auf einen SELS 11 System eine ...

VB for Applications
Textzeile in Datei einfügen wenn bestimmtes Wort nicht vorhanden
gelöst Frage von aletriVB for Applications9 Kommentare

Guten Abend allerseits Dieser Script fügt eine Textzeile in Datei ein aber auch dann wenn Zeile in diesem Fall ...

VB for Applications
VBS Textzeile in fsx.cfg Datei an bestimmte Stelle einfügen
gelöst Frage von aletriVB for Applications6 Kommentare

Guten Abende Leute Mit dem hier aufgeführten Script möchte ich den Text "AutogenDescriptionsFilename=AutogenDescriptions_EFRO.xml" einfügen was soweit auch mit der ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 7 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 8 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 10 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 15 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...