booster123
Goto Top

"Blöcke" nebeneinder in einer Zeile ausgeben mit Batch

Moin Moin Leute,

ich habe mit Hilfe einer Batchdatei eine Textdatei erstellt, die wie folgt bearbeitet aussieht.


kleiner Ausschnitt:

4;IDK 100820488 99 Brandenburgische BKK
7;VKG 01 109737010 5 00
8;NAM 01 Brandenburgische Betriebskrankenkasse
9;ANS 1 15890 Eisenhüttenstadt Werkstr. 10
12;IDK 101320032 99 SECURVITA BKK
15;VKG 01 101320032 5 00
16;VKG 03 107436557 5 07 00
19;NAM 01 SECURVITA Betriebskrankenkasse
20;ANS 1 20099 Hamburg Lübeckertordamm 1-3
24;IDK 101320043 99 BKK S-H
27;VKG 01 109723913 5 00
28;NAM 01 Betriebskrankenkasse S-H
29;ANS 1 25348 Glückstadt Stadtstr. 10


Mittlerweile so:

4;IDK 100820488 99 Brandenburgische BKK
7;VKG 01 109737010 5 00
8;NAM 01 Brandenburgische Betriebskrankenkasse
9;ANS 1 15890 Eisenhüttenstadt Werkstr. 10

12;IDK 101320032 99 SECURVITA BKK
15;VKG 01 101320032 5 00
16;VKG 03 107436557 5 07 00
19;NAM 01 SECURVITA Betriebskrankenkasse
20;ANS 1 20099 Hamburg Lübeckertordamm 1-3

24;IDK 101320043 99 BKK S-H
27;VKG 01 109723913 5 00
28;NAM 01 Betriebskrankenkasse S-H
29;ANS 1 25348 Glückstadt Stadtstr. 10


ich benötige die Datenblöcke aber in einer Zeile, also so:

4;IDK 100820488 99 Brandenburgische BKK 7;VKG 01 109737010 5 8;NAM 01 Brandenburgische Betriebskrankenkasse 9;ANS 1 15890 Eisenhüttenstadt Werkstr. 10
12;IDK 101320032 99 SECURVITA BKK 15;VKG 01 101320032 5 00 16;VKG 03 107436557 5 07 00 19;NAM 01 SECURVITA Betriebskrankenkasse 20;ANS 1 20099 Hamburg Lübeckertordamm 1-3
24;IDK 101320043 99 BKK S-H 27;VKG 01 109723913 5 00 28;NAM 01 Betriebskrankenkasse S-H 29;ANS 1 25348 Glückstadt Stadtstr. 10


im Idealfall sogar so:

10820488 , 109737010 , Brandenburgische Betriebskrankenkasse , 15890, Eisenhüttenstadt , Werkstr. 10
101320032 , 101320032 , 107436557 , Securvita Betriebskrankenkasse , 20099 , Hamburg, Lübeckertordamm 1-3
…..


ich hoffe ich konnte klarstellen was ich brauche, da meine Kenntnisse nicht soweit ausgeschöpft sind, dass ich es selber schaffen kann, bitte ich euch um Hilfe.


PS: Es können auch mehr als 4Reihen sein, da in einigen Blöcken mehrere VKGs gegeben sind.


Vielen Dank im Voraus.


Gruß

Booster123

Content-Key: 563429

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

Printed on: April 19, 2024 at 16:04 o'clock

Mitglied: 143728
143728 Apr 06, 2020 updated at 14:09:52 (UTC)
Goto Top
Alter, immer noch mit am Batchen?! Da kriegt man ja Käsfüß face-smile ...

@echo off &setlocal enabledelayedexpansion
chcp 1252 >nul
set "file=D:\test.txt"  
set "out=D:\test_out.txt"  
>"%out%" (for /f "usebackq tokens=1,2,3,* delims=; " %%a in ("%file%") do (  
	if "%%b" == "IDK" set "line=%%c"  
	if "%%b" == "VKG" (  
		for /f %%e in ("%%d") do set "line=!line! ,%%e"  
	)
	if "%%b" == "NAM" set "line=!line!, %%d"  
	if "%%b" == "ANS" (  
		set "line=!line!, %%d"  
		echo.!line!
	)
)
)
Gruß c.