wörter durch andere wörter ersetzen ?
moin also meine frage ist ob ich verschiedene wörter (datum oder namen) durch andere suchen und ersetzen kann ?
es vereinfacht sich ein bisschen dardurch das die anfangs wörter schon vorhanden sind nur steht dahinter noch ein wenig text bsp. :
(abc.txt die datei die bearbeitet werden soll)
datum : 13.11.90
nachname : hansen
blabla : blabla
datum : 12.12.07
nachname : weber
blabla : blabla
(soll werden defg.txt)
13.11.90 peter 19 jahre
nachname : hansen
blabla : blabla
12.12.07 markus 12 jahre
nachname : weber
blabla : blabla
(und in zxy.txt stehen die änderungen dafür)
13.11.90 peter 19 jahre
12.12.07 markus 12 jahre
hoffe jemand ahnt im ansatz was ich meine : )
würde mich freuen wenn mir jemand helfen kann
danke für eure gute hilfe auch in den vorangegangenen fragen !
gruß nebel
es vereinfacht sich ein bisschen dardurch das die anfangs wörter schon vorhanden sind nur steht dahinter noch ein wenig text bsp. :
(abc.txt die datei die bearbeitet werden soll)
datum : 13.11.90
nachname : hansen
blabla : blabla
datum : 12.12.07
nachname : weber
blabla : blabla
(soll werden defg.txt)
13.11.90 peter 19 jahre
nachname : hansen
blabla : blabla
12.12.07 markus 12 jahre
nachname : weber
blabla : blabla
(und in zxy.txt stehen die änderungen dafür)
13.11.90 peter 19 jahre
12.12.07 markus 12 jahre
hoffe jemand ahnt im ansatz was ich meine : )
würde mich freuen wenn mir jemand helfen kann
danke für eure gute hilfe auch in den vorangegangenen fragen !
gruß nebel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 90902
Url: https://administrator.de/contentid/90902
Ausgedruckt am: 25.11.2024 um 07:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo nebeleben!
Das ist zwar technisch machbar, allerdings müsste sichergestellt sein, dass das als Schlüssel/Suchbegriff verwendete Datum jeweils nur einmal vorkommt; außerdem muss der Suchbegriff (für die Datumszeile, welche ersetzt werden soll) in Zeiile 5 exakt (inkl Leerzeichen) eingegeben werden.
Grüße
bastla
Das ist zwar technisch machbar, allerdings müsste sichergestellt sein, dass das als Schlüssel/Suchbegriff verwendete Datum jeweils nur einmal vorkommt; außerdem muss der Suchbegriff (für die Datumszeile, welche ersetzt werden soll) in Zeiile 5 exakt (inkl Leerzeichen) eingegeben werden.
@echo off & setlocal
set "Quelle=D:\abc.txt"
set "Ziel=D:\defg.txt"
set "Liste=D:\zxy.txt"
set "Suche=datum : "
if exist "%Ziel%" del "%Ziel%"
for /f "usebackq delims=" %%i in ("%Quelle%") do call :ProcessLine "%%i"
goto :eof
:ProcessLine
set "Zeile=%~1"
echo %~1|findstr /c:"%Suche%">nul || goto :Schreiben
for /f "tokens=2 delims=: " %%d in (%1) do set "Datum=%%d"
if not defined Datum echo Fehlerhafte Zeile: %1 & goto :Schreiben
for /f "delims=" %%a in ('findstr /b /c:"%Datum%" "%Liste%"') do set "Zeile=%%a"
if "%Zeile%"==%1 echo Nicht ersetzt: %1
:Schreiben
>>"%Ziel%" echo %Zeile%
goto :eof
bastla
Hallo nebeleben!
Meist ist es sinnvoll, so wie Du es ja oben gemacht hast, Quell- und Zieldatei darzustellen - wie soll also das gewünschte Ergebnis aussehen?
Grüße
bastla
... wie ich das umstellen kannd as es z.b. in zeile 6 steht oder 4 und genau das is auch mein problem
Das Ersetzen wird unabhängig davon, in welcher Zeile sich das Datum befindet, durchgeführt - was genau ist daher das Problem?Meist ist es sinnvoll, so wie Du es ja oben gemacht hast, Quell- und Zieldatei darzustellen - wie soll also das gewünschte Ergebnis aussehen?
Grüße
bastla