albert
Goto Top

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:

1
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?

Content-ID: 4358642790

Url: https://administrator.de/forum/text-in-datei-ersetzen-4358642790.html

Ausgedruckt am: 06.04.2025 um 19:04 Uhr

TK1987
TK1987 24.10.2022 aktualisiert um 16:15:19 Uhr
Goto Top
Moin,

so müsste es gehen:
1
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
Albert
Albert 27.10.2022 um 12:18:22 Uhr
Goto Top
Danke, ich habe es in der Zwischenzeit mit einem VB-Skript hinbekommen.