Textverarbeitung per Batch - Trennzeichen einfügen
Hallo, ich bin neu in diesem Forum, habe ein Problem und hoffe das mir jemand helfen kann.
Als Datenaustausch zwischen 2 Systemen wird eine txt-Datei erzeugt die mehrere hundert Zeilen enthält, die wiederum alle exakt 64 Zahlen enthalten.
In diesem Zahlenblock, sind keinerlei Trennzeichen enthalten, die allerdings für den Import in das 2. System notwendig sind.
Nun ist die Frage wie ich, am besten in dem Batch-Skript, Trennzeichen (Semikolon) an definierbare stellen einfügen lassen kann.
Definierbar deshalb, weil die zu trennenden Blöcke unterschiedlich viele Zahlen enthalten, diese aber pro Zeile gleich sind.
Ich hoffe mich klar und verständlich ausgedrückt zu haben.
PS: Ich habe in diversen Foren, auch in diesem, gesucht - aber dieses Problem leider nirgends finden können und hoffe das mir hier jemand helfen kann.
Als Datenaustausch zwischen 2 Systemen wird eine txt-Datei erzeugt die mehrere hundert Zeilen enthält, die wiederum alle exakt 64 Zahlen enthalten.
In diesem Zahlenblock, sind keinerlei Trennzeichen enthalten, die allerdings für den Import in das 2. System notwendig sind.
Nun ist die Frage wie ich, am besten in dem Batch-Skript, Trennzeichen (Semikolon) an definierbare stellen einfügen lassen kann.
Definierbar deshalb, weil die zu trennenden Blöcke unterschiedlich viele Zahlen enthalten, diese aber pro Zeile gleich sind.
Ich hoffe mich klar und verständlich ausgedrückt zu haben.
PS: Ich habe in diversen Foren, auch in diesem, gesucht - aber dieses Problem leider nirgends finden können und hoffe das mir hier jemand helfen kann.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 109914
Url: https://administrator.de/contentid/109914
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo hoomer und willkommen im Forum!
Schematisch (und ungetestet) etwa so (unter der Voraussetzung, dass alle Zeilen verarbeitet werden sollen und sich keine "!" in den Daten befinden):
Die Zerlegung der Zeile (Variable !Z!) in Zeile 8 basiert auf der Angabe der Anzahl zu überspringender Zeichen (Offset) und der Anzahl zu verwendender Zeichen - siehe dazu die Onlinehilfe mit "set /?" (dort gezeigt für %PATH%).
Grüße
bastla
Schematisch (und ungetestet) etwa so (unter der Voraussetzung, dass alle Zeilen verarbeitet werden sollen und sich keine "!" in den Daten befinden):
@echo off & setlocal enabledelayedwxpansion
set "Alt=D:\Datei.txt"
set "Neu=D:\Datei.csv"
if exist "%Neu%" del "%Neu%"
for /f "usebackq delims=" %%i in ("%Alt%") do (
set "Z=%%i"
>>"%Neu%" echo !Z:~0,8!;!Z:~8,5!;!Z:~13,8!;!Z:~21,4!;...
)
Grüße
bastla