batch - String suchen und ausgeben
-
Hallo!
Ich hoffe ich bin in diesem Unterforum richtig bei Fragen zur batch-Programmierung ...
Zuerst wollte ich das ganze in C-Programmieren, habe es aber leider als blutiger Anfänger überhaupt nicht hinbekommen.
Ich habe eine txt-Datei mit folgendem Aufbau:
;# -Z77 Ich bin Text Hier noch mehr... Jetzt noch mit (Klammern) usw usw usw... ;# - AAAAAAAAAAA bbbbbbbbbbbb ccccccccccccc DDDDDDDDDDDDDDD EEEEEEE FF FFF FFFFFF usw usw usw...
Jetzt möchte ich nach jeder Zeichenfolge ";# -" die ersten 3 Zeilen in einer neuen txt-Datei ausgeben. (Inklusive der Zeile mit dem ";# -")
Hier mein aktueller Verusch:
@echo off & setlocal set "Datei=C:\test.txt" set "Bak=%Datei%.bak" move "%Datei%" "%Bak%" for /f "usebackq delims=" %%i in ("%Bak%") do set "Zeile=%%i" & call :ProcessLine REM del "%Bak%" goto :eof :ProcessLine echo %Zeile%>>"%Datei%" echo %Zeile%|findstr /b ";# -">nul || goto :eof " echo %Zeile:1%>>"%Datei%" goto :eof
Folgendes funktioniert leider nicht:
Der Text in der gleichen Zeile wie das ";# -" wird nicht ausgegeben, sollte aber.Wie kann ich angeben, dass z.B. nur die ersten 3 Zeilen ab dem ";# -" ausgegeben werden und nicht mehr...?
Hmm... ich freue mich auf jeden Fall schon jetzt für eure Hilfe!