lucedeciello
Goto Top

Via Batch Zeichen in Textzeilen einfügen

Hallo,

ich habe die Lösung für mein Problem schon fast gefunden. Leider verstehe ich die Positionsangaben in dem Skript nicht ganz - vielleicht kann jemand helfen?


Problem:
Ich habe folgenden Datensatz: 10051;0205;16052017;17052017


Nach Verarbeitung soll dieser so aussehen: 10051;0205;16.05.2017;17.05.2017


Folgendes Skript habe ich gefunden......

:ProcessLine
"%Datei%" echo %Zeile:~,8%.%Zeile:~8,2%.%Zeile:~10,4%.%Zeile:~14,2%.%Zeile:~16%

Aber wie muss ich die Positionierung verändern, damit ich das gewünschte Ergebnis erziele. Habe schon viel ausprobiert..... Aber irgendwie fällt der Groschen nicht.

Viele Grüße
Luce

Content-ID: 345808

Url: https://administrator.de/forum/via-batch-zeichen-in-textzeilen-einfuegen-345808.html

Ausgedruckt am: 03.04.2025 um 03:04 Uhr

it-fraggle
it-fraggle 09.08.2017 um 10:44:11 Uhr
Goto Top
Ich müsste jetzt auch etwas rumbasteln, aber aus dem Bauch heraus würde ich mit regulären Ausdrücken arbeiten und den üblichen Boardwerkzeugen wie tail, head, sed etc. Ein kleines Tutorial, was dir helfen könnte: https://www.silvesterlangen.de/?Linux___%2BGrundlagen___regulaere_Ausdru ...
LuceDeCiello
LuceDeCiello 09.08.2017 um 10:55:51 Uhr
Goto Top
Vielleicht hilft mein komplettes Skript etwas':

@echo off & setlocal
set Datei=C:\test_SG\Punkte setzen\ABW.csv
set Bak=bak

set /p Zeile1=<"%Datei%"
if "%Zeile1:~8,1%"=="." echo Datei bereits im richtigen Format & goto :eof

::move "%Datei%" "%Datei%.%Bak%">nul
for /f "usebackq delims=" %%i in ("%Datei%.%Bak%") do set "Zeile=%%i" & call :ProcessLine
del "%Datei%.%Bak%"
goto :eof

:ProcessLine
"%Datei%" echo %Zeile:~,8%.%Zeile:~8,2%.%Zeile:~10,4%.%Zeile:~14,2%.%Zeile:~16%
goto :eof


Es ist nur die Positionsangaben in der ProcessLine, welche nicht hinhauen.... Ich verstehe das Prinzip dahinter einfach noch nicht richtig face-sad
LuceDeCiello
LuceDeCiello 09.08.2017 um 16:10:27 Uhr
Goto Top