Zeile nach gesuchter Zeile in Datei schreiben
Hallo zusammen!
Mit einer Batchdatei suche ich in einer Datei:
test.txt
nach dem Wort "suchwort", und schreibe die Zeile in die datei "result.txt".
Alle anderen Zeilen schreibe ich in die Datei "andere.txt":
Jetzt würde ich da wo die Sterne sind gerne einen Befehl einbauen der die "Zeile danach" in eine andere Datei schreibt.
Aber ich bekomme es irgendwie nicht hin
Grüße
Tobi
Mit einer Batchdatei suche ich in einer Datei:
test.txt
unwichtig1
unwichtig2
suchwort
zeiledanach
unwichtig3
nach dem Wort "suchwort", und schreibe die Zeile in die datei "result.txt".
Alle anderen Zeilen schreibe ich in die Datei "andere.txt":
for /F "delims=" %%x in (c:\bat\test.txt) do call:doline "%%x"
pause
goto:eof
:doline
set "line=%~1"
if "%line:~0,20%" equ "suchwort" (
echo %line%>>"c:\bat\result.txt"
*****
) else (
echo %line%>>"c:\bat\andere.txt"
)
goto:eof
Aber ich bekomme es irgendwie nicht hin
Grüße
Tobi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 62961
Url: https://administrator.de/contentid/62961
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo bufferm44!
Etwa so:
Grüße
bastla
Etwa so:
@echo off & setlocal
set Write=
for /F "delims=" %%x in (c:\bat\test.txt) do call:doline "%%x"
pause
goto:eof
:doline
set "line=%~1"
if "%line:~0,20%" equ "suchwort" (
set Write=True
echo %line%>>"c:\bat\result.txt"
) else (
if not defined Write (
echo %line%>>"c:\bat\andere.txt"
) else (
echo %line%>>"c:\bat\weitere.txt"
set Write=
)
)
goto:eof
Grüße
bastla
Hallo bufferm44!
Versuch es vielleicht so:
Grüße
bastla
P.S.: War kein Trick, sondern ein Flag (Schalter) ...
Versuch es vielleicht so:
@echo off & setlocal
set Write=
for /F "delims=" %%x in (c:\bat\test.txt) do (set "Line=%%x") & call:doline
pause
goto:eof
:doline
if "%line:~0,20%" equ "suchwort" (
set Write=True
echo %line%>>"c:\bat\result.txt"
) else (
if not defined Write (
echo %line%>>"c:\bat\andere.txt"
) else (
echo %line%>>"c:\bat\weitere.txt"
set Write=
)
)
goto:eof
Grüße
bastla
P.S.: War kein Trick, sondern ein Flag (Schalter) ...
Hallo bufferm44!
Jetzt aber ...
Grüße
bastla
Jetzt aber ...
@echo off & setlocal
set Write=
for /F "delims=" %%x in (c:\bat\test.txt) do set "Line=%%x" & call:doline
goto :eof
:doline
if "%line:~0,20%" equ "suchwort" set Write=True & echo %line%>>"c:\bat\result.txt" & goto :eof
if not defined Write echo %line%>>"c:\bat\andere.txt" & goto :eof
echo %line%>>"c:\bat\weitere.txt"
set Write=
goto :eof
Grüße
bastla