Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Text mehrfach in einer Datei ersetzen?

Frage Entwicklung Batch & Shell

Mitglied: LFS1993

LFS1993 (Level 1) - Jetzt verbinden

05.03.2010 um 15:16 Uhr, 3999 Aufrufe, 9 Kommentare

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!!!
Mitglied: bastla
05.03.2010 um 16:16 Uhr
Hallo LFS1993!
Über die Suche hab ich auf die Schnelle nix gefunden ...
Da warst Du aber sicher ganz schnell ...

... anyhow:
01.
@echo off & setlocal 
02.
set "Datei=D:\DateiDieImmerGleichHeisst.txt" 
03.
set "Von=|BASSDRUM|" 
04.
set "Nach=||" 
05.
 
06.
set R=%temp%\Replace.vbs 
07.
>%R%  echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll 
08.
>>%R% echo fso.CreateTextFile(F,True).Write Replace(T,"%Von%","%Nach%") 
09.
 
10.
cscript //nologo %R% "%Datei%"
Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
05.03.2010 um 16:58 Uhr
Achte mal auf die Pipes bastla

*korrigier*
01.
@echo off & setlocal 
02.
set "Datei=D:\DateiDieImmerGleichHeisst.txt" 
03.
set "Von=^|BASSDRUM^|" 
04.
set "Nach=^|^|" 
05.
 
06.
set R=%temp%\Replace.vbs 
07.
>%R%  echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll 
08.
>>%R% echo fso.CreateTextFile(F,True).Write Replace(T,"%Von%","%Nach%") 
09.
 
10.
cscript //nologo %R% "%Datei%"
Gruß
Snow
Bitte warten ..
Mitglied: bastla
05.03.2010 um 17:41 Uhr
@Snowman25

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

Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
05.03.2010 um 20:26 Uhr
@bastla,

>set "Von=|BASSDRUM|" 
 
>echo %Von% 
Syntaxfehler. 
 
>
Bitte warten ..
Mitglied: bastla
05.03.2010 um 20:46 Uhr
@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
Bitte warten ..
Mitglied: LFS1993
06.03.2010 um 09:44 Uhr
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!!!!!
Bitte warten ..
Mitglied: LFS1993
16.07.2010 um 10:04 Uhr
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!
Bitte warten ..
Mitglied: bastla
16.07.2010 um 12:05 Uhr
Hallo LFS1993!

Versuch es damit:
01.
@echo off & setlocal 
02.
set "Datei=D:\DateiDieImmerGleichHeisst.txt" 
03.
 
04.
set "Von1=|""BASSDRUM""|" 
05.
set "Nach1=||" 
06.
set "Von2=|BASSDRUM|" 
07.
set "Nach2=||" 
08.
 
09.
set R=%temp%\Replace.vbs 
10.
>%R%  echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll 
11.
>>%R% echo T=Replace(T,"%Von1%","%Nach1%"):fso.CreateTextFile(F,True).Write Replace(T,"%Von2%","%Nach2%") 
12.
 
13.
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
Bitte warten ..
Mitglied: LFS1993
16.07.2010 um 12:22 Uhr
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!!!!!!!!!!!!!!!!!
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...