Text in Datei ersetzen
Hallo Zusammen, ich bin neu hier und habe eine Frage.
Ich habe eine Batch-Datei erstellt in der ich Text in einer Datei ersetze, das funktioniert auch schon nur entfernt er auch ! Zeichen die im Text erhalten sind.
Hier mein Skript:
<dokuclient>C:\Work-LWN\dokuclient\dokuclient.bat</do kuclient> <!-- LIKV-Schnittstelle -->
Aber das ! Zeichen bei <!-- LIKV-Schnittstelle --> wird auch entfernt und das darf nicht sein.
Kann mir bitte Jemand weiterhelfen?
Ich habe eine Batch-Datei erstellt in der ich Text in einer Datei ersetze, das funktioniert auch schon nur entfernt er auch ! Zeichen die im Text erhalten sind.
Hier mein Skript:
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
@echo off & setlocal enabledelayedexpansion
set "Datei=C:\Temp\sppconfig.xml"
set "Von=G:\PTC\AuxApps\dokuclient\dokuclient.bat"
set "Nach=C:\Work-LWN\dokuclient\dokuclient.bat"
set "t=%temp%\text.tmp"
for /f "usebackq delims=" %%i in ("%Datei%") do set "Line=%%i" & set "Line=!Line:%Von%=%Nach%!" & >>"%t%" echo !Line!
move "%t%" "%Datei%"
exit
<dokuclient>C:\Work-LWN\dokuclient\dokuclient.bat</do kuclient> <!-- LIKV-Schnittstelle -->
Aber das ! Zeichen bei <!-- LIKV-Schnittstelle --> wird auch entfernt und das darf nicht sein.
Kann mir bitte Jemand weiterhelfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4358642790
Url: https://administrator.de/forum/text-in-datei-ersetzen-4358642790.html
Ausgedruckt am: 06.04.2025 um 19:04 Uhr
2 Kommentare
Neuester Kommentar
Moin,
so müsste es gehen:
Gruß Thomas
so müsste es gehen:
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
set "Datei=C:\Temp\sppconfig.xml"
set "Von=G:\PTC\AuxApps\dokuclient\dokuclient.bat"
set "Nach=C:\Work-LWN\dokuclient\dokuclient.bat"
set "t=%temp%\text.tmp"
>"%t%" (for /f "usebackq delims=" %%i in ("%Datei%") do (
set "Line=%%i"
setlocal EnableDelayedExpansion
echo !Line:%Von%=%Nach%!
endlocal
))
move /y "%t%" "%Datei%"
Gruß Thomas