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-Key: 345808

Url: https://administrator.de/contentid/345808

Printed on: April 20, 2024 at 04:04 o'clock

Member: it-fraggle
it-fraggle Aug 09, 2017 at 08:44:11 (UTC)
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 ...
Member: LuceDeCiello
LuceDeCiello Aug 09, 2017 at 08:55:51 (UTC)
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
Member: LuceDeCiello
LuceDeCiello Aug 09, 2017 at 14:10:27 (UTC)
Goto Top