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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4837376334
Url: https://administrator.de/contentid/4837376334
Ausgedruckt am: 24.11.2024 um 02:11 Uhr
5 Kommentare
Neuester Kommentar
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.
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?
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?
PowerShell Beispiel
https://tio.run/##K8gvTy0qzkjNyfn/30GdK7MgMSWlyJYrJa8Ywkgvh9DqDgo1CvmlJb ...
VBS kann ich dir auch schreiben wen'd wilscht, aber der Einzeiler war halt kürzer 😉.
Uk.
https://tio.run/##K8gvTy0qzkjNyfn/30GdK7MgMSWlyJYrJa8Ywkgvh9DqDgo1CvmlJb ...
(Get-Content "d:\test.txt") -replace '(?<==).*',(Read-Host "IP eingeben") | set-content "d:\test_neu.txt"
Uk.
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?
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?
Moin.
Mit VBS ginge es so
Gruß s.
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