Batch Batch finden und ersetzen

T!MM!

Lt. Junior Grade
Registriert
Sep. 2008
Beiträge
492
Hi Leute,

Ich habe hier eine datei in der etwas steht.
nun möchte ich das er guckt ob "test" in der Datei steht und das "test" durch "geklappt" ersetzt.
Wie mach ich das mit hilfe von BAtch datein?
 
Hi,

Versuchs mal hiermit

PHP:
@echo off & setlocal enabledelayedexpansion
set "Datei=X:\Pfad\zur\Datei" 
set "Von=DasWortWasErsetztWerdenSoll" 
set "Nach=Ersatzwort" 
set "t=%temp%\text.tmp" 
if exist "%t%" del "%t%" 
for /f "usebackq delims=" %%i in ("%Datei%") do set "Line=%%i" & set Line=!Line:%Von%=%Nach%! & echo !Line!>>"%t%" 
move /y "%t%" "%Datei%"
 
@Xiaolong:
Das klappt soweit, allerdings ersetzt er die komplette Datei durch !Line!
Meine Batch datei sieht so aus:
rem Prueft ob die Datei vorhanden ist
if exist c:\Programme\IBM\Client Access\Emulator\Private\HOBLink2D3Connect.mac goto pruefen
rem Kopiert die Datei wenn sie nicht vorhanden ist
if NOT exist "C:\Programme\IBM\Client Access\Emulator\Private\HOBLink2D3Connect.mac" copy "\\dms-server\HobLinkConnect\HOBLink_Client_Installation\HOBLink2D3Connect.mac" "c:\Programme\IBM\Client Access\Emulator\Private"
: pruefen
rem sucht und ersetzt den Pfad
set "Datei=c:\Programme\IBM\Client Access\Emulator\Private\HOBLink2D3Connect.mac"
set "Von=O:\HOBLink2D3Connect.exe"
set "Nach=\\DMS-Server\HOBLINKCONNECT\HOBLink2D3Connect.exe"
set "t=%temp%\text.tmp"
if exist "%t%" del "%t%"
for /f "usebackq delims=" %%i in ("%Datei%") do set "Line=%%i" & set Line=!Line:%Von%=%Nach%! & echo !Line!>>"%t%"
move /y "%t%" "%Datei%"
pause
: pause
pause

Das bei den Punkte zu denen er springen soll ein Leerzeichen zwishcen ist hat den Grund das er sonst nen Smiley macht.
 
Zurück
Oben