Jump to content

suchen/ ersetzen mit 3 Suchbegriffen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

@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!

Link zu diesem Kommentar

@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 von blub
Link zu diesem Kommentar
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]

Link zu diesem Kommentar
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!

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...