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-Key: 90432

Url: https://administrator.de/contentid/90432

Printed on: April 20, 2024 at 00:04 o'clock

Member: bastla
bastla Jun 23, 2008 at 17:05:56 (UTC)
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