goodbytes
Goto Top

Zeichen in mehreren Dateien ersetzen

Hallo,
wie kann ich in den in einem Verzeichnis enthaltenen Textdateien bestimmte Zeichen per Batch durch andere ersetzen?

Eine Frage hab ich auch noch. Mit reinem HTML kann ich je keine Variablen deklarieren. Gibt es da irgendwie eine andere Möglichkeit? Ich möchte mir einfach viel Tipparbeit ersparen.

Torsten

Content-Key: 103462

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

Printed on: April 25, 2024 at 20:04 o'clock

Member: bastla
bastla Dec 06, 2008 at 15:31:55 (UTC)
Goto Top
Hallo TorstenB!

Da Du anscheinend keinen der Threads, die ein derartiges Thema behandeln, gefunden hast:
@echo off & setlocal
set "Basis=D:\Dein Ordner"  
set "Von=AlterInhalt"  
set "Nach=NeuerInhalt"  

set R=%temp%\ReplaceInFile.vbs
>%R% echo Set fso=CreateObject("Scripting.FileSystemObject"):Set a=WScript.Arguments:T=fso.OpenTextFile(a(0)).ReadAll:If InStr(1,T,a(1),1)^>0 Then fso.CreateTextFile(a(0)).Write Replace(T,a(1),a(2),1,-1,1)  

for %%i in ("%Basis%\*.txt") do (  
    echo %%i
    cscript //nologo %R% "%%i" "%Von%" "%Nach%"  
)
Sollte es um HTML-Tags gehen, dann bitte beachten, dass "<" und ">" maskiert werden müssen, also etwa:
set "Von=^<div^>AlterInhalt^</div^>"
Zu beachten wäre noch, dass in der aktuellen Fassung Groß-/Kleinschreibung unterschieden werden.

Grüße
bastla

[Edit] "Textvergleich" (= ohne Berücksichtigung Groß-/Kleinschreibung) ist wohl sinnvoller ... [/Edit]
Member: goodbytes
goodbytes Dec 08, 2008 at 10:43:50 (UTC)
Goto Top
Hallo bastla,

funktioniert perfekt - vielen Dank !!! face-smile

Torsten