aviation
Goto Top

Werte in einer TXT mit VBS Skript ändern

Hallo liebe Community,

Ich habe eine Textdatei in der ich gerne Daten ändern bzw. hinzufügen würde.

Es geht um eine Aktualisierung der Konfiguration mehrerer Router.

ich habe bspw. folgende Werte:
ipaddr=
dnsaddr=
gwaddr=

Und hinter die Gleichheitszeichen = würde ich gerne Werte einfügen, leider werde ich aus den VBS Anleitungen im Netz nicht schlau, kann mir hier eventuell jemand helfen?

Vielen Dank schon mal face-smile

Content-ID: 4837376334

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

Ausgedruckt am: 24.11.2024 um 02:11 Uhr

Crusher79
Crusher79 02.12.2022 um 20:21:40 Uhr
Goto Top
Du kannst auch VBS? Oder PowerShell?

Text Manipulation geht auch mit PS super. Manche nutzen noch Batch. Muss es unbedingt VBS sein?

Ansonsten kann man hier den String sonst einfach ersetzen.

ipaddr=
ipaddr=192.168.0.254

PowerShell kann auch CSV u.ä. als Grundlage nehmen. Sollen ja nichth die gleiechen IPs sein. Wie liegen denn die Daten vor, die da rein sollen? Nur die 3 oder mehr?
Aviation
Aviation 02.12.2022 um 20:27:09 Uhr
Goto Top
Nein es muss nicht VBS sein war jetzt nur mein erster Gedanke, das Thema ziemlich Neuland für mich

Am liebsten hätte ich ein Skript welches mich per Eingabefenster fragt welche IP möchtest du vergeben, dann gebe ich da bspw. 192.168.0.254 ein und dann soll er einfach hinter jedes Leerzeichen diese IP schreiben

Es liegen 19 Attribute vor alle sollen aber die selbe IP bekommen
4400667902
Lösung 4400667902 02.12.2022 aktualisiert um 22:22:00 Uhr
Goto Top
PowerShell Beispiel
https://tio.run/##K8gvTy0qzkjNyfn/30GdK7MgMSWlyJYrJa8Ywkgvh9DqDgo1CvmlJb ...
(Get-Content "d:\test.txt") -replace '(?<==).*',(Read-Host "IP eingeben")  | set-content "d:\test_neu.txt"  
VBS kann ich dir auch schreiben wen'd wilscht, aber der Einzeiler war halt kürzer 😉.

Uk.
Crusher79
Crusher79 03.12.2022 um 07:49:43 Uhr
Goto Top
Frage ist, macht das überhaupt Sinn? Man kann auch nur einen Teil der IP vorgeben, und der Rest wird nach Schema abgeleitet: GW immer 254 z.B.

Oder man hat eine CSV, die in den Spalten die IPs drin hat. Mit Excel kann man die ja schnell runter kopieren und dann mit PS an die Stellen bringen.

Wie viele Werden es denn?

https://notepad-plus-plus.org/downloads/

Kann in Dateien auch Suchen und Ersetzen. du kannst in den 20 Dingern mit 2, 3 anläufen die FIXEN IPs auch in Sekunden ändern. Für die jeweilige Router IP müsste man aber in jeder wieder manuell die IP schreiben, bzw. Suchern/ Ersetzen.

Der Vorteil von Scripte wäre, dass du weniger eine Schreibfehler reinhaust.

Ich überlege bei sowas immer: was geht am schnellsten? Brauche ich das alle 10 Jahre mal? Manuelle Eingabe sinnvoll oder lieber als Tabellen die Werte entnehmen?
4863114660
Lösung 4863114660 05.12.2022 aktualisiert um 18:33:56 Uhr
Goto Top
Moin.
Mit VBS ginge es so
Dim file,fso,regex,replacement,newcontent
file = "D:\test.txt"  
replacement = InputBox("Bitte IP eingeben","IP Abfrage")  
Set fso = CreateObject("Scripting.Filesystemobject")  
Set regex = CreateObject("vbscript.regexp")  
regex.Global = True
regex.MultiLine = True
regex.Pattern = "(^[^=]+=)[^\r\n]*"  
newcontent = regex.Replace(fso.OpenTextFile(file,1).ReadAll,"$1" & replacement)  
fso.OpenTextFile(file,2,True).Write content
Gruß s.