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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 299741
Url: https://administrator.de/contentid/299741
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
8 Kommentare
Neuester Kommentar
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