Text mehrfach in einer Datei ersetzen?
Hallo zusammen!
Über die Suche hab ich auf die Schnelle nix gefunden und hab es relativ eilig damit, ja, ist blöd, is aber leider so!
In einer Datei, die heißt immer gleich, kommt immer wieder der exakt gleiche Begriff vor, dieser steht folgendermassen in der Datei:
|BASSDRUM|
Vor und nach den Pipes sind natürlich noch massiv andere Zeichen, die nicht angerührt werden sollen!
Nun soll da ein Suchen/Ersetzen per BAT drüber, der die BASSDRUM einfach rauslöscht, also nur die beiden Pipes a'la
stehen läßt...
Könnte mir da jemand auf die Schnelle helfen, wär riesig nett von Euch!!!
Über die Suche hab ich auf die Schnelle nix gefunden und hab es relativ eilig damit, ja, ist blöd, is aber leider so!
In einer Datei, die heißt immer gleich, kommt immer wieder der exakt gleiche Begriff vor, dieser steht folgendermassen in der Datei:
|BASSDRUM|
Vor und nach den Pipes sind natürlich noch massiv andere Zeichen, die nicht angerührt werden sollen!
Nun soll da ein Suchen/Ersetzen per BAT drüber, der die BASSDRUM einfach rauslöscht, also nur die beiden Pipes a'la
stehen läßt...
Könnte mir da jemand auf die Schnelle helfen, wär riesig nett von Euch!!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 137539
Url: https://administrator.de/forum/text-mehrfach-in-einer-datei-ersetzen-137539.html
Ausgedruckt am: 22.04.2025 um 22:04 Uhr
9 Kommentare
Neuester Kommentar
Hallo LFS1993!
... anyhow:
Grüße
bastla
Über die Suche hab ich auf die Schnelle nix gefunden ...
Da warst Du aber sicher ganz schnell ...... anyhow:
@echo off & setlocal
set "Datei=D:\DateiDieImmerGleichHeisst.txt"
set "Von=|BASSDRUM|"
set "Nach=||"
set R=%temp%\Replace.vbs
>%R% echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll
>>%R% echo fso.CreateTextFile(F,True).Write Replace(T,"%Von%","%Nach%")
cscript //nologo %R% "%Datei%"
bastla
Achte mal auf die Pipes bastla
*korrigier*
Gruß
Snow
*korrigier*
@echo off & setlocal
set "Datei=D:\DateiDieImmerGleichHeisst.txt"
set "Von=^|BASSDRUM^|"
set "Nach=^|^|"
set R=%temp%\Replace.vbs
>%R% echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll
>>%R% echo fso.CreateTextFile(F,True).Write Replace(T,"%Von%","%Nach%")
cscript //nologo %R% "%Datei%"
Gruß
Snow
@Snowman25
Achte mal auf die Anführungszeichen - Korrektur nicht nötig (bzw genauer: kontraproduktiv) ...
Grüße
bastla
Achte mal auf die Anführungszeichen - Korrektur nicht nötig (bzw genauer: kontraproduktiv) ...
Grüße
bastla
@Snowman25
Getestet hast Du aber weder meinen Vorschlag von oben, noch die von dir korrigierte Variante - oder?
Grüße
bastla
>set "Von=|BASSDRUM|"
>echo "%Von%"
"|BASSDRUM|"
Grüße
bastla
Hallo LFS1993!
Versuch es damit:
Bitte beachten: Zu suchende Anführungszeichen müssen verdoppelt eingegeben werden (siehe Zeile 4) ...
Es wäre aber vermutlich sinnvoller, bei der Entstehung der Datei anzusetzen und gleich dort die erforderlichen Anpassungen vorzunehmen ...
Grüße
bastla
Versuch es damit:
@echo off & setlocal
set "Datei=D:\DateiDieImmerGleichHeisst.txt"
set "Von1=|""BASSDRUM""|"
set "Nach1=||"
set "Von2=|BASSDRUM|"
set "Nach2=||"
set R=%temp%\Replace.vbs
>%R% echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll
>>%R% echo T=Replace(T,"%Von1%","%Nach1%"):fso.CreateTextFile(F,True).Write Replace(T,"%Von2%","%Nach2%")
cscript //nologo %R% "%Datei%"
Es wäre aber vermutlich sinnvoller, bei der Entstehung der Datei anzusetzen und gleich dort die erforderlichen Anpassungen vorzunehmen ...
Grüße
bastla