VBS Find and Replace Script
Moin Moin,
ich habe folgendes Script gebaut:
Das Problem ist nun, sobald ich das Script laufen lasse, wird entweder keine Änderung an der Text-Datei vorgenommen oder die Datei wird total zerstückelt. Ich hoffe ihr könnt mir einen Tipp geben, wo mein Script falsch ist. Vielen Dank
MfG Jan
ich habe folgendes Script gebaut:
'Variablen initialisieren
DIM Suchen
DIM Ersetzen
DIM NeuerInhalt
DIM Inhalt
'Variablen setzen
Suchen ="Windows"
Ersetzen ="MAC OS X"
'Datei öffnen und auslesen
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.OpenTextFile("c:\server.txt", 1)
Inhalt = File.ReadAll
File.Close
'String finden und ersetzen
NeuerInhalt = Replace(Inhalt, Suchen , Ersetzen) +vbcr
'In Datei schreiben
Set File = FSO.OpenTextFile("C:\server.txt", 2)
File.Write NeuerInhalt
File.Close
MfG Jan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 82373
Url: https://administrator.de/forum/vbs-find-and-replace-script-82373.html
Ausgedruckt am: 07.04.2025 um 01:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo Bluesteal und willkommen im Forum!
Soferne es sich bei der Textdatei nicht um Unicode handelt, ist das Problem nicht nachvollziehbar - außer der Ersetzung wird ja nur noch am Ende ein CR angefügt ...
Falls doch Unicode, beim Öffnen der Datei jeweils noch als 4. Argument "True" hinzufügen, also zB
Grüße
bastla
Soferne es sich bei der Textdatei nicht um Unicode handelt, ist das Problem nicht nachvollziehbar - außer der Ersetzung wird ja nur noch am Ende ein CR angefügt ...
Falls doch Unicode, beim Öffnen der Datei jeweils noch als 4. Argument "True" hinzufügen, also zB
Set File = FSO.OpenTextFile("c:\server.txt", 1, True, True)
Grüße
bastla
hallo zusammen,
da ich gerade auf der suche nach einem suchen-ersetzen-script bin hätte ich eine frage zu dem obigen beispiel vbs.
ist es möglich, dass man in dem vb-script den neu zu setzenden wert (oben z.b. Ersetzen ="MAC OS X" ) variabel dem entsprechenden aktuellen hostname des PCs vergibt (%computername%)?!
besten dank schon mal!
da ich gerade auf der suche nach einem suchen-ersetzen-script bin hätte ich eine frage zu dem obigen beispiel vbs.
ist es möglich, dass man in dem vb-script den neu zu setzenden wert (oben z.b. Ersetzen ="MAC OS X" ) variabel dem entsprechenden aktuellen hostname des PCs vergibt (%computername%)?!
besten dank schon mal!
Moin menace,
dazu kannst Du entweder über ein WShShell-Object und die Environment-Methode oder über ein WScript.Network-Object zum Ziel kommen.
Grüße
Biber
dazu kannst Du entweder über ein WShShell-Object und die Environment-Methode oder über ein WScript.Network-Object zum Ziel kommen.
Set WShell = CreateObject ("WScript.Shell")
Set ProcEnv = WShell.Environment("Process")
computername = procEnv("computername")
-oder-
computername= WShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
-oder-
Set WNetwork = CreateObject ("WScript.Network")
computername = WNetwork.computername
Grüße
Biber