Batchdatei: Datei nach bestimmten Zeilen durchsuchen und in anderer Datei einfügen
Hallo,
ich möchte mit einem batch aus einer *.msg Datei 4 Zeilen heraussuchen und diese Zeilen sollen dann in der Datei *.acf (steht schon was drinne und soll beibehalten werden) unten eingefügt werden.
Bei Dateien msg und acf liegen im selben Ordner. Der Pfad, der Ordner und die beiden Dateitypen haben nicht immer den selben Namen, deshalb mit Wildcards. der batch soll ausserhalb des ordner gestartet werden.
folgende 4 Zeilen stehen im *.msg:
command: PART/22, MASS=xxxxxx, IP=xxxxxxxx, xxxxxxxx, xxxxxxxx
command: PART/23, MASS=xxxxxx, IP=xxxxxxxx, xxxxxxxx, xxxxxxxx
command: PART/94, MASS=xxxxxx, IP=xxxxxxxx, xxxxxxxx, xxxxxxxx
command: PART/95, MASS=xxxxxx, IP=xxxxxxxx, xxxxxxxx, xxxxxxxx
diese 4 Zeilen soll er mir raussuchen und ohne "command:" im *.acf einfügen, wo ist eigentlich egal, nur der text der vorher schon in der *.acf drinne war soll auch noch drinne bleiben!
Ich hab leider absolut keine Ahnung von Programmieren und würde mich freuen wenn ich Hilfe bekomme.
ich möchte mit einem batch aus einer *.msg Datei 4 Zeilen heraussuchen und diese Zeilen sollen dann in der Datei *.acf (steht schon was drinne und soll beibehalten werden) unten eingefügt werden.
Bei Dateien msg und acf liegen im selben Ordner. Der Pfad, der Ordner und die beiden Dateitypen haben nicht immer den selben Namen, deshalb mit Wildcards. der batch soll ausserhalb des ordner gestartet werden.
folgende 4 Zeilen stehen im *.msg:
command: PART/22, MASS=xxxxxx, IP=xxxxxxxx, xxxxxxxx, xxxxxxxx
command: PART/23, MASS=xxxxxx, IP=xxxxxxxx, xxxxxxxx, xxxxxxxx
command: PART/94, MASS=xxxxxx, IP=xxxxxxxx, xxxxxxxx, xxxxxxxx
command: PART/95, MASS=xxxxxx, IP=xxxxxxxx, xxxxxxxx, xxxxxxxx
diese 4 Zeilen soll er mir raussuchen und ohne "command:" im *.acf einfügen, wo ist eigentlich egal, nur der text der vorher schon in der *.acf drinne war soll auch noch drinne bleiben!
Ich hab leider absolut keine Ahnung von Programmieren und würde mich freuen wenn ich Hilfe bekomme.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 290390
Url: https://administrator.de/forum/batchdatei-datei-nach-bestimmten-zeilen-durchsuchen-und-in-anderer-datei-einfuegen-290390.html
Ausgedruckt am: 05.04.2025 um 17:04 Uhr
1 Kommentar
Hallo Vir1985 und willkommen im Forum!
Bei bekanntem Pfad des entsprechenden Ordners könnte das etwa so gehen (ungetestet):
Annahme dabei: Es gibt nur jeweils eine .msg- und nur eine .acf-Datei im Ordner ...
Grüße
bastla
Der Pfad, der Ordner und die beiden Dateitypen haben nicht immer den selben Namen, deshalb mit Wildcards. der batch soll ausserhalb des ordner gestartet werden.
Das könnte ein wenig schwierig werden - wie soll denn der außerhalb des Ordners gestartete Batch den Ordner mit dem unbekannten Namen finden?Bei bekanntem Pfad des entsprechenden Ordners könnte das etwa so gehen (ungetestet):
@echo off & setlocal
set "Pfad=D:\Der unbekannte Ordner"
set "TypQ=msg"
set "TypZ=acf"
pushd "%Pfad%"
for %i in (*.%TypQ%) do set "Quelle=%%~i"
for %i in (*.%TypZ%) do set "Ziel=%%~i"
for /f "tokens=1*" %%i in ('findstr "PART/22 PART/23 PART/94 PART/95" "%Quelle%"') do >>"%Ziel%" echo %%j
popd
Grüße
bastla