Batch - Zeile finden und ersetzen
Hallo ihr,
ich habe nun eine Weile mit nem gepipten findstring rumprobiert,
aber ich denke, für das Problem verlangt die Batch wieder ne
getunte For-Schleife eines Profis...
Ich möchte in einem Batch-file nach einem String suchen und
die Zeile, die ihn enthält, durch eine andere Zeile (zwei Wörter) ersetzen.
Ein schlichtes Ersetzen der Strings reicht nicht, weil der Suchstring variiert.
Bsp.:
Fall 1
Datei.bat
Wurmloch 15
Kältemittelwarmduscher
Knopfloch 37
Hopfenpfisterei
Wurstkater
Ersatzstring: Knopfloch 36
Fall 2
Datei.bat
Wurmloch 15
Kältemittelwarmduscher
Knopfloch 42
Hopfenpfisterei
Wurstkater
Ersatzstring: Knopfloch 44
usw.
-> Knopfloch 37(42) soll also durch Knopfloch 36(44) ersetzt werden.
Das Schlüsselwort Knopfloch bleibt immer gleich. (Original- und Ersatzstring)
Die Zahlen (welche auch Buchstaben enthalten können) sind bei beiden immer unterschiedlich.
Mit Dank im Voraus,
Jane
ich habe nun eine Weile mit nem gepipten findstring rumprobiert,
aber ich denke, für das Problem verlangt die Batch wieder ne
getunte For-Schleife eines Profis...
Ich möchte in einem Batch-file nach einem String suchen und
die Zeile, die ihn enthält, durch eine andere Zeile (zwei Wörter) ersetzen.
Ein schlichtes Ersetzen der Strings reicht nicht, weil der Suchstring variiert.
Bsp.:
Fall 1
Datei.bat
Wurmloch 15
Kältemittelwarmduscher
Knopfloch 37
Hopfenpfisterei
Wurstkater
Ersatzstring: Knopfloch 36
Fall 2
Datei.bat
Wurmloch 15
Kältemittelwarmduscher
Knopfloch 42
Hopfenpfisterei
Wurstkater
Ersatzstring: Knopfloch 44
usw.
-> Knopfloch 37(42) soll also durch Knopfloch 36(44) ersetzt werden.
Das Schlüsselwort Knopfloch bleibt immer gleich. (Original- und Ersatzstring)
Die Zahlen (welche auch Buchstaben enthalten können) sind bei beiden immer unterschiedlich.
Mit Dank im Voraus,
Jane
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 212237
Url: https://administrator.de/contentid/212237
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
2 Kommentare
Neuester Kommentar
Servus,
kannst du mal testen:
lg
kannst du mal testen:
@echo off &setlocal
set "search=Knopfloch 37"
set "replace=Knopfloch 36"
set "textfile=file.txt"
set "newfile=new.txt"
(for /f "delims=" %%i in ('findstr /n "^" "%textfile%"') do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:%search%=%replace%!"
echo(!line!
endlocal
))>"%newfile%"
type "%newfile%"
lg