Suche ersetzten Inhalt Datei aus gesamten Verzeichnis
Guten Abend,
Ich habe folgendes Problem.
In einem Verzeichnis liegen x Textdateien, nun möchte ich in den Dateien gewisse Wörter ersetzen lassen.
dieses soll für alle Dateien in dem Verzeichnis erfolgen.
z.b.
GHTZ23 soll in Test123
BHGR44 soll in Test789
..
ersetzt werden
Habe hier zwar ein Beispiel gefunden, kann es meinen Bedürfnissen aber nicht anpassen.
Es soll die Möglichkeit bestehen mit einfachsten Mitteln neue Wörter hinzufügen
Danke für eure hilfe
Ich habe folgendes Problem.
In einem Verzeichnis liegen x Textdateien, nun möchte ich in den Dateien gewisse Wörter ersetzen lassen.
dieses soll für alle Dateien in dem Verzeichnis erfolgen.
z.b.
GHTZ23 soll in Test123
BHGR44 soll in Test789
..
ersetzt werden
Habe hier zwar ein Beispiel gefunden, kann es meinen Bedürfnissen aber nicht anpassen.
Es soll die Möglichkeit bestehen mit einfachsten Mitteln neue Wörter hinzufügen
Const ORDNER = "C:\ordner"
Const EXTENSION = "txt"
Set fso = CreateObject("Scripting.Filesystemobject")
Set regex = CreateObject("vbscript.regexp")
regex.Global = False: regex.IgnoreCase = True: regex.MultiLine = True
regex.Pattern = "(Parameter)\s*=\s*(\d+)"
For Each file In fso.GetFolder(ORDNER).Files
If LCase(fso.GetExtensionName(file.Name)) = LCase(EXTENSION) Then
strContent = fso.OpenTextFile(file.Path,1).ReadAll()
set matches = regex.Execute(strContent)
If matches.Count > 0 Then
If CDbl(matches(0).submatches(1)) > 0 Then
fso.OpenTextFile(file.Path,2).Write(regex.Replace(strContent,"$1 = 0"))
End If
End If
End If
Danke für eure hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 278718
Url: https://administrator.de/contentid/278718
Ausgedruckt am: 15.11.2024 um 05:11 Uhr
3 Kommentare
Neuester Kommentar
Oh je, das "never ending" Find Replace-Thema, gibt's hier schon zum Umfallen Threads noch und nöcher ....
Gruß jodel32
Const ORDNER = "C:\ordner"
Const EXTENSION = "txt"
Set fso = CreateObject("Scripting.Filesystemobject")
Set dic = CreateObject("Scripting.Dictionary")
dic.add "Suchstring1","Ersetzungsstring1"
dic.add "Suchstring2","Ersetzungsstring2"
keys = dic.keys
For Each file In fso.GetFolder(ORDNER).Files
If LCase(fso.GetExtensionName(file.Name)) = LCase(EXTENSION) Then
Set fRead = fso.OpenTextFile(file.Path,1)
strContent = fRead.ReadAll()
fRead.Close
for i = 0 to keys.count -1
strContent = Replace(strContent,keys(i), dic.Item(keys(i)),1,-1,1)
next
fso.OpenTextFile(file.Path,2).Write(strContent)
End If
Next
MsgBox "Finished"
Set fso = Nothing
Set dic = Nothing
@Endoro
Der Thomas darf glaub nur VBS ... hat ich bei Ihm schon mal mit Powershell versucht, erfolglos Haben die Ihm alles gesperrt.
Gruß jodel32
Der Thomas darf glaub nur VBS ... hat ich bei Ihm schon mal mit Powershell versucht, erfolglos Haben die Ihm alles gesperrt.
Gruß jodel32