najaleon 10 Geschrieben 15. Februar 2011 Melden 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!
blub 115 Geschrieben 15. Februar 2011 Melden 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
Dr Kiffer 10 Geschrieben 15. Februar 2011 Melden 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]
najaleon 10 Geschrieben 16. Februar 2011 Autor Melden 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!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden