najaleon 10 Geschrieben 15. Februar 2011 Melden Teilen Geschrieben 15. Februar 2011 @Blade1981 Hier hast Du meinen Lösungsvorschlag zu Deinem Problem. Leider ist es in VBSkipt nicht möglich, einen Zeiger auf die Zeile, in die die Entsprechung gefunden wurde, zu bekommen. Deshalb muss die Datei neuerstellt werden. Option Explicit Function SuchenUndErsetzenInDatei(Verzeichnispfad, Suche, Ersetze) Const LESEND = 1 Const SCHREIBEND = 2 Dim FSO, Verzeichnis, Unterverzeichnis, Datei, DateiInhalt, Dateierweiterung, RegAusdruck Set FSO = CreateObject("Scripting.FileSystemObject") Set Verzeichnis = FSO.GetFolder(Verzeichnispfad) Set RegAusdruck = CreateObject("VBScript.RegExp") For Each Datei In Verzeichnis.Files Dateierweiterung = LCase(FSO.GetExtensionName(Datei)) If Dateierweiterung = "bat" Or Dateierweiterung = "ini" Or Dateierweiterung = "reg" Then With RegAusdruck .Pattern = Suche .IgnoreCase = True .Global = True 'On Error Resume Next DateiInhalt = FSO.OpenTextFile(Datei,LESEND).ReadAll If .Test(DateiInhalt) Then FSO.OpenTextFile(Datei, SCHREIBEND, True).Write .Replace(DateiInhalt, Ersetze) End If 'On Error Goto 0 End With End If Next For Each Unterverzeichnis In Verzeichnis.Subfolders SuchenUndErsetzenInDatei Unterverzeichnis, Suche, Ersetze Next End Function SuchenUndErsetzenInDatei "C:\Dokumente und Einstellungen\Administrator\", "hallo", "guten tag" Hallo Zusammen, genau nach so einem Skript habe ich gesucht. Es funktioniert auch wunderbar, nur benötige ich 3 Suchbegriffe die durch 3 neue Begriffe ersetzt werden sollen. Ich habe leider keine Ahnung von VB-Scripting. Kann da einer helfen und dieses Skript so anpassen, daß es meinen Wünschen entspricht? Danke schon mal im voraus! Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 15. Februar 2011 Melden Teilen Geschrieben 15. Februar 2011 (bearbeitet) @najaleon, du bist doch schon lange genug dabei, um zu wissen, dass das Kapern alter Einträge erstens nur der Unübersichtlichkeit dient zweitens uns unnötig Arbeit verursacht. Schau dir diese Powershelllösung von nerd an: http://www.mcseboard.de/windows-forum-scripting-71/kuenstliche-bremse-powershell-174383.html#post1074697 blub bearbeitet 15. Februar 2011 von blub Zitieren Link zu diesem Kommentar
Dr Kiffer 10 Geschrieben 15. Februar 2011 Melden Teilen Geschrieben 15. Februar 2011 Hallo Zusammen, genau nach so einem Skript habe ich gesucht. Es funktioniert auch wunderbar, nur benötige ich 3 Suchbegriffe die durch 3 neue Begriffe ersetzt werden sollen. Ich habe leider keine Ahnung von VB-Scripting. Kann da einer helfen und dieses Skript so anpassen, daß es meinen Wünschen entspricht? Danke schon mal im voraus! mhh wenn ich dich jetzt nicht missverstehe reicht dir doch auch am Ende vom Script SuchenUndErsetzenInDatei "C:\Dokumente und Einstellungen\Administrator\", "hallo", "guten tag" [b]SuchenUndErsetzenInDatei "C:\Dokumente und Einstellungen\Administrator\", "hallo2", "guten tag2" SuchenUndErsetzenInDatei "C:\Dokumente und Einstellungen\Administrator\", "hallo3", "guten tag3"[/b] Zitieren Link zu diesem Kommentar
najaleon 10 Geschrieben 16. Februar 2011 Autor Melden Teilen Geschrieben 16. Februar 2011 mhh wenn ich dich jetzt nicht missverstehe reicht dir doch auch am Ende vom Script SuchenUndErsetzenInDatei "C:\Dokumente und Einstellungen\Administrator\", "hallo", "guten tag" [b]SuchenUndErsetzenInDatei "C:\Dokumente und Einstellungen\Administrator\", "hallo2", "guten tag2" SuchenUndErsetzenInDatei "C:\Dokumente und Einstellungen\Administrator\", "hallo3", "guten tag3"[/b] Genau das habe ich gemeint! Ich hab´s gewusst, daß es nicht so schwierig war, nur wie bereits erwähnt, ich habe vom VB-Scripting absolut keine Ahnung. Vielen Dank! @blub Sorry für den alten Eintrag, werde in Zukunft dran denken! Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.