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, 12935 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

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

MfG 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 ..
Ä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 ...

Batch & Shell
Domainübergreifendes netlogon script ausführen (7)

Frage von Lukas4580 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(4)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (18)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...