gnlen1
Goto Top

Suchen ersetzen mit Sonderzeichen

Hallo zusammen.

Ich habe einen Suchen /Ersetzen Code aus diesem Forum genommen.
In einer Datei wird nach bestimmten Begriffen gesucht und durch andere ersetzt. Die zu suchenden und zu ersetzenden Begriffe stehen in einer separaten Text Datei.
Der Code funktioniert auch soweit.
Nur mein Problem ist, dass wenn die Datei in der ersetzt werden soll die Zeichen "<>" enthält funktioniert es nicht mehr.

@echo off & setlocal enabledelayedexpansion
set "Datei=E:\Test.pgx"
set "Liste=E:\Ersetzungsliste.txt"
set "t=%temp%\text.tmp"
if exist "%t%" del "%t%"
for /f "delims=" %%i in ('findstr /n $ "%Datei%"') do set "Line=%%i" & call :ProcessLine
move "%t%" "%Datei%"
goto :bb
:ProcessLine
for /f "tokens=1* delims=:" %%a in ("%Line%") do set "L=%%b"
if not defined L >>"%t%" echo\& goto :eof
for /f "usebackq tokens=1-2 delims=;" %%s in ("%Liste%") do set "L=!L:%%s=%%t!"
"%t%" echo ( %L%
goto :eof
:bb

set "Datei=E:\Test2.dtx"
set "Liste=E:\Ersetzungsliste1.txt"
set "t=%temp%\text.tmp"
if exist "%t%" del "%t%"
for /f "delims=" %%i in ('findstr /n $ "%Datei%"') do set "Line=%%i" & call :ProcessLine
move "%t%" "%Datei%"
goto :eof
:ProcessLine
for /f "tokens=1* delims=:" %%a in ("%Line%") do set "L=%%b"
if not defined L >>"%t%" echo\& goto :eof
for /f "usebackq tokens=1-2 delims=;" %%s in ("%Liste%") do set "L=!L:%%s=%%t!"
"%t%" echo( %L%
goto :eof


Vielleicht könnt ihr mir ja weiterhelfen?
Vielen Dank
GNLen

Content-Key: 326488

Url: https://administrator.de/contentid/326488

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: Arano
Arano 15.01.2017 um 21:32:02 Uhr
Goto Top
Hi,
nur ein später Gedanke:
Was passiert wenn du diese Zeichen maskierst ?
^<^>

~Arano
Mitglied: GNLen1
GNLen1 16.01.2017 um 06:47:18 Uhr
Goto Top
Ich habe selbst die Lösung gefunden

"%t%" echo( !L!
anstatt
"%t%" echo( %L%