Per Batch-Datei bestimmte Zeilenabschnitte aus Textdatei kopieren
Hallo miteinander,
Folgendes Problem raubt mir die nerven:
Ich habe zwei Quelldateien in denen die zu kopierenden Strings jeweils in anderem Format vorliegen.
quelle1.txt:
12.03.2009[umi] .-name=L010 >>LMT_mnj_kl
12.03.2009[umi] .-name=L011 <<Vrb_lj_op_l
12.03.2009[umi] .-name=L012_LT_iuz_kr
Der code funktioniert einwandfrei aber ich hätte gern noch, dass wenn etwas hinter dem "name" string steht (Zeile 1 und 2), es auch mit in die name.txt kopiert wird. Die Datei name.txt soll dann wie folgt aussehen:
name=L010 >>LMT_mnj_kl
name=L011 <<Vrb_lj_op_l
name=L012_LT_iuz_kr
quelle2.txt:
L015 <<A_BC_D1-1 D:\ab\cd\ef.stk L016 >>G_HC_K1-2 D:\ab\cd\gh.stk
L017_L_pz_o1
Hier genau das gleiche: code funktioniert gut aber soll wenn vorhanden das Anhängsel noch mitkopieren. Die name2.txt soll dann wie folgt aussehen:
L015 <<A_BC_D1-1
L016 >>G_HC_K1-2
L017_L_pz_o1
Ich hoffe mein Problem ist klar geworden und ihr könnt mir helfen. Vielen Dank für eure Bemühungen.
Freu mich auf eure Antworten!
MfG knechtibus
Folgendes Problem raubt mir die nerven:
Ich habe zwei Quelldateien in denen die zu kopierenden Strings jeweils in anderem Format vorliegen.
quelle1.txt:
12.03.2009[umi] .-name=L010 >>LMT_mnj_kl
12.03.2009[umi] .-name=L011 <<Vrb_lj_op_l
12.03.2009[umi] .-name=L012_LT_iuz_kr
@echo off
if exist name.txt del name.txt
for /f %%i in ('type quelle.txt^|tr "." "\n"^|tr -d -^|findstr name') do echo %%i >>name.txt
Der code funktioniert einwandfrei aber ich hätte gern noch, dass wenn etwas hinter dem "name" string steht (Zeile 1 und 2), es auch mit in die name.txt kopiert wird. Die Datei name.txt soll dann wie folgt aussehen:
name=L010 >>LMT_mnj_kl
name=L011 <<Vrb_lj_op_l
name=L012_LT_iuz_kr
quelle2.txt:
L015 <<A_BC_D1-1 D:\ab\cd\ef.stk L016 >>G_HC_K1-2 D:\ab\cd\gh.stk
L017_L_pz_o1
@echo off
if exist name2.txt del name2.txt
for /f %%i in ('type quelle2.txt^|tr " " "\n"^|findstr L0') do echo %%i>>name2.txt
Hier genau das gleiche: code funktioniert gut aber soll wenn vorhanden das Anhängsel noch mitkopieren. Die name2.txt soll dann wie folgt aussehen:
L015 <<A_BC_D1-1
L016 >>G_HC_K1-2
L017_L_pz_o1
Ich hoffe mein Problem ist klar geworden und ihr könnt mir helfen. Vielen Dank für eure Bemühungen.
Freu mich auf eure Antworten!
MfG knechtibus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 121389
Url: https://administrator.de/contentid/121389
Ausgedruckt am: 20.11.2024 um 05:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo knechtibus!
Eigentlich sollten sich doch die Zeilen bei "quelle1.txt" anhand des "-" aufteilen lassen, also:
In "quelle2.txt" könnte (unter der Annahme, dass "L016.." auch in einer eigenen Zeile stünde) anhand der Leerzeichen wie folgt getrennt werden:
Grüße
bastla
Eigentlich sollten sich doch die Zeilen bei "quelle1.txt" anhand des "-" aufteilen lassen, also:
@echo off & setlocal
if exist name.txt del name.txt
for /f "tokens=1* delims=-" %%i in ('findstr "name" "quelle.txt"') do >>name.txt echo %%j
@echo off & setlocal
if exist name2.txt del name2.txt
for /f "tokens=1-2" %%i in ('findstr "L0" "quelle2.txt"') do >>name2.txt echo %%i %%j
bastla