Bearbeitung einer Textdatei mittels cmd-Script
Hallo,
kann mir ein Tüfftler bei der Erstellung eines Scriptes helfen?
Ich möchte mittels cmd-Script eine Datei bearbeiten, die strukturell immer gleich aufgebaut ist (fortlaufende Zeilen beginnend mit 7 Ziffern).
Ich möchte von jeder einzelnen Zeile die ersten 7 Ziffern "abschneiden" und den Rest der Zeile belassen und nach Durchlaufen der Datei eine neue Datei erstellen lassen (in der also jeweils die ersten 7 Ziffern jeder Zeile fehlen)
Zudem möchte ich, das nach jeder Zeile in der Originaldatei, die mit einer bestimmten Ziffernfolge (xyz8310, wobei xyz verschieden sind, die 8310 der Marker ist) beginnt, in der erzeugten Datei eine Leerzeile erstellt wird (der besseren Übersicht halber).
aus:
1234567xytsdhdwhd --> xytsdhdwhd
2370376djcnenevnvnvv --> djcnenevnvnvv
0148310cwcncndcew -->
cwcncndcew
u.s.w.
Vielen Dank für Eure Hilfe!
alexander
kann mir ein Tüfftler bei der Erstellung eines Scriptes helfen?
Ich möchte mittels cmd-Script eine Datei bearbeiten, die strukturell immer gleich aufgebaut ist (fortlaufende Zeilen beginnend mit 7 Ziffern).
Ich möchte von jeder einzelnen Zeile die ersten 7 Ziffern "abschneiden" und den Rest der Zeile belassen und nach Durchlaufen der Datei eine neue Datei erstellen lassen (in der also jeweils die ersten 7 Ziffern jeder Zeile fehlen)
Zudem möchte ich, das nach jeder Zeile in der Originaldatei, die mit einer bestimmten Ziffernfolge (xyz8310, wobei xyz verschieden sind, die 8310 der Marker ist) beginnt, in der erzeugten Datei eine Leerzeile erstellt wird (der besseren Übersicht halber).
aus:
1234567xytsdhdwhd --> xytsdhdwhd
2370376djcnenevnvnvv --> djcnenevnvnvv
0148310cwcncndcew -->
cwcncndcew
u.s.w.
Vielen Dank für Eure Hilfe!
alexander
Please also mark the comments that contributed to the solution of the article
Content-Key: 299741
Url: https://administrator.de/contentid/299741
Printed on: April 25, 2024 at 06:04 o'clock
8 Comments
Latest comment
Hallo alexander,
als Batchscript bspw. so
Grüße
rubberman
als Batchscript bspw. so
@echo off &setlocal
set "infile=test.txt"
set "outfile=test2.txt"
set "separate=8310"
setlocal EnableDelayedExpansion
<"!infile!" >"!outfile!" (
for /f %%i in ('type "!infile!"^|find /c /v ""') do for /l %%j in (1 1 %%i) do (
set "line=" &set /p "line="
if not defined line (
echo(
) else (
if "!line:~3,4!"=="!separate!" echo(
echo !line:~7!
)
)
)
rubberman
Hallo Alexander,
OK verstanden.
Das Prinzip könnte etwa so aussehen
Wenn es am Ende nicht um mehrere Ersetzungen geht, schmeißt du das
Grüße
rubberman
OK verstanden.
Das Prinzip könnte etwa so aussehen
@echo off &setlocal
set "infile=test.txt"
set "outfile=test2.txt"
set "separate=8310"
set "target1=012"
set "prefix1=Beispielwort1"
set "target2=345"
set "prefix2=Beispielwort2"
setlocal EnableDelayedExpansion
<"!infile!" >"!outfile!" (
for /f %%i in ('type "!infile!"^|find /c /v ""') do for /l %%j in (1 1 %%i) do (
set "line=" &set /p "line="
if not defined line (
echo(
) else (
if "!line:~3,4!"=="!separate!" echo(
if "!line:~0,3!"=="!target1!" (
echo !prefix1! !line:~7!
) else if "!line:~0,3!"=="!target2!" (
echo !prefix2! !line:~7!
) else (
echo !line:~7!
)
)
)
)
else if
und die darauffolgende Zeile raus...Grüße
rubberman