lfs1993
Goto Top

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!!!

Content-Key: 137539

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

Printed on: April 16, 2024 at 14:04 o'clock

Member: bastla
bastla Mar 05, 2010 at 15:16:10 (UTC)
Goto Top
Hallo LFS1993!
Ü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%"  
Grüße
bastla
Member: Snowman25
Snowman25 Mar 05, 2010 at 15:58:13 (UTC)
Goto Top
Achte mal auf die Pipes bastla

*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
Member: bastla
bastla Mar 05, 2010 at 16:41:58 (UTC)
Goto Top
@Snowman25

Achte mal auf die Anführungszeichen - Korrektur nicht nötig (bzw genauer: kontraproduktiv) ... face-wink

Grüße
bastla
Member: Snowman25
Snowman25 Mar 05, 2010 at 19:26:48 (UTC)
Goto Top
@@bastla,

>set "Von=|BASSDRUM|"

>echo %Von%
Syntaxfehler.

>
Member: bastla
bastla Mar 05, 2010 at 19:46:01 (UTC)
Goto Top
@Snowman25
>set "Von=|BASSDRUM|" 

>echo "%Von%"
"|BASSDRUM|"
Getestet hast Du aber weder meinen Vorschlag von oben, noch die von dir korrigierte Variante - oder?

Grüße
bastla
Member: LFS1993
LFS1993 Mar 06, 2010 at 08:44:19 (UTC)
Goto Top
Hallo und vielen Dank schonmal!

So schnell hatte ich nicht gesucht, hab aber wirklich nix passendes gefunden, wohl überlesen oder ignoriert, tut mir leid...

Ich teste das dann gleich mal und geb Bescheid ob alles so klappt, mal sehen welche Variante paßt!

HERZLICHEN DANK FÜR ALLES!!!

P.S.: So, eben getestet, bastlas Version arbeitet wunderbar, nochmals danke und ein schönes Wochenende!!!!!
Member: LFS1993
LFS1993 Jul 16, 2010 at 08:04:31 (UTC)
Goto Top
Hello again!

Nun hab ich mit dem wunderbar funktionierenden Script ne ganze Weile meine Freude gehabt und steh nun vor dem nächsten Problem...

In der Datei, die geprüft wird, hat sich teilweise was geändert, leider!

Die |BASSDRUM| wird jetzt teilweise als |"BASSDRUM"| angegeben, wodurch das Script nicht mehr funktioniert, eben wegen den Hochkommas.

Kommt man da irgendwie drum rum, oder muß was komplett neues her?!?

Hilfe wäre wirklich super, ich danke schon mal im Voraus!
Member: bastla
bastla Jul 16, 2010 at 10:05:56 (UTC)
Goto Top
Hallo LFS1993!

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%"  
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
Member: LFS1993
LFS1993 Jul 16, 2010 at 10:22:36 (UTC)
Goto Top
Hi bastla!

Damit hast Du mir wieder mal sehr aus der Patsche geholfen!
Ja, wenn man das mit den verdoppelten "Anführungszeichen" weiß, wird einem alles klar!!!

Vielen herzlichen Dank!!!!!!!!!!!!!!!!!