Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBS Find and Replace Script

Frage Entwicklung VB for Applications

Mitglied: Bluesteal

Bluesteal (Level 1) - Jetzt verbinden

05.03.2008, aktualisiert 06.10.2008, 12903 Aufrufe, 5 Kommentare

Moin Moin,
ich habe folgendes Script gebaut:
01.
'Variablen initialisieren 
02.
DIM Suchen  
03.
DIM Ersetzen  
04.
DIM NeuerInhalt  
05.
DIM Inhalt 
06.
 
07.
'Variablen setzen 
08.
Suchen ="Windows" 
09.
Ersetzen ="MAC OS X" 
10.
 
11.
'Datei öffnen und auslesen 
12.
Set FSO = CreateObject("Scripting.FileSystemObject") 
13.
Set File = FSO.OpenTextFile("c:\server.txt", 1) 
14.
Inhalt = File.ReadAll 
15.
File.Close 
16.
 
17.
'String finden und ersetzen 
18.
NeuerInhalt = Replace(Inhalt, Suchen , Ersetzen) +vbcr 
19.
 
20.
 
21.
'In Datei schreiben 
22.
Set File = FSO.OpenTextFile("C:\server.txt", 2) 
23.
File.Write NeuerInhalt 
24.
File.Close
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

Mit freundlichen Grüßen Jan
Mitglied: bastla
05.03.2008 um 13:06 Uhr
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
01.
Set File = FSO.OpenTextFile("c:\server.txt", 1, True, True)
Grüße
bastla
Bitte warten ..
Mitglied: Bluesteal
05.03.2008 um 13:53 Uhr
Moin,
vielen Dank. Genau das war der Fehler!

Mit freundlichen Grüßen Jan
Bitte warten ..
Mitglied: menace
06.10.2008 um 11:22 Uhr
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!
Bitte warten ..
Mitglied: Biber
06.10.2008 um 12:37 Uhr
Moin menace,

dazu kannst Du entweder über ein WShShell-Object und die Environment-Methode oder über ein WScript.Network-Object zum Ziel kommen.

01.
Set WShell = CreateObject ("WScript.Shell")  
02.
Set ProcEnv = WShell.Environment("Process") 
03.
computername = procEnv("computername") 
04.
-oder- 
05.
computername= WShell.ExpandEnvironmentStrings("%COMPUTERNAME%") 
06.
-oder- 
07.
Set WNetwork = CreateObject ("WScript.Network")  
08.
computername = WNetwork.computername
Grüße
Biber
Bitte warten ..
Mitglied: menace
06.10.2008 um 13:29 Uhr
hallo biber,

besten dank, hat funktioniert!!
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

VB for Applications
gelöst VBS Script kann Prgramm nicht starten (15)

Frage von C.Boerner zum Thema VB for Applications ...

Windows Server
Aufgabenplanung bringt bei VBS Script immer 0x41301 (14)

Frage von 116480 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (8)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...