butterblume
Goto Top

VBS - Wort in einer Textdatei aendern!

Hallo, ich schreibe ein Script für ein Programm als Hilfe.

Ich stelle aber jetzt nicht ganze Aufgabe vor, sondern nur den Teil, den ich nicht verstehe.
Zuerst mal wird ein Backup von der Datei erstellt.
Dann die alte Datei verändert. Ich weiss nicht wie man jetzt dies tun kann.
das Eine: z.B. die Variable suchen (Farbe=Rot), jetzt wird "Farbe=" gesucht und "Rot" wird überschrieben.
Die Datei dann wieder abgespeichert und geschlossen.

LG, Kristy

'Datei lesen.  
  Dim strGelesen
  Const ForReading = 1, ForWriting = 2, ForAppending = 8

  Set fso = CreateObject("Scripting.FileSystemObject")  
  set File = fso.OpenTextFile("C:\Dokumente und Einstellungen\Kristina\Desktop\PROGRAMM SCHRIFTGENI\Test.txt", ForReading, false)  
  strGelesen = File.ReadAll
  Set fso = nothing

'Backup-Datei schreiben  
  Dim f
  Set fso = CreateObject("Scripting.FileSystemObject")  
  Set f = fso.OpenTextFile("C:\Dokumente und Einstellungen\Kristina\Desktop\PROGRAMM SCHRIFTGENI\Test_Backup.txt", ForAppending, True)  
  f.Write (strGelesen)

'Datei durchsuchen  
  Dim SuchZeichen ="Test"  
  MeinePosition = InStr(1, strGelesen, Suchzeichen)

Content-ID: 90432

Url: https://administrator.de/forum/vbs-wort-in-einer-textdatei-aendern-90432.html

Ausgedruckt am: 09.01.2025 um 22:01 Uhr

bastla
bastla 23.06.2008 um 19:05:56 Uhr
Goto Top
Hallo Butterblume!

Das Stichwort hier wäre "Replace".
Zur Sicherungskopie: Mit "ForAppending" wird die Kopie an eine ev schon bestehende angefügt - willst Du das, oder solltest Du besser "ForWriting" oder, alternativ, "CreateTextFile" verwenden?

Außerdem ist ein mehrfaches Erzeugen des "fso" unnötig - Du kannst es einfach weiter verwenden (und musst es dann auch nicht durch ein Setzen auf "Nothing" zwischendurch "zerstören").

Letzte Anmerkung: Die Variablendeklaration mit "Dim" ist (auch) in VBS nicht unbedingt erforderlich - wenn Du aber deklarierst, dann konsequent, also auch zB "fso" oder "File" ...

Grüße
bastla