Supportnet / Forum / Skripte(PHP,ASP,Perl...)
RegistrySchüssel auslesen!!
Frage
Hallo liebe Supportneter,
ich möchte ein VBScript schreiebn womit ich ein Wert aus einem Registry-Schlüssel auslese und diesen z.B in einer Textdatei abspeichere. Hat jemand eine Idee ob das geht und wenn ja- wie???
Danke im voraus
needHelp
Antwort 1 von Vollhorst
Guckst Du hier:
http://www.quaschtel.de/wsh/wscriptshell.htm#
Windows-Registry_Schl%FCssel_auslesen
http://www.quaschtel.de/wsh/wscriptshell.htm#
Windows-Registry_Schl%FCssel_auslesen
Antwort 2 von needHelp1234
Ja das habe ich auch sschon gefunden, aber ich kann da nicht rauslesen wie ich diese Zahl z.B. in einer Textdatei speichere. Sie wird nur in einem Fenster ausgegeben. Ich bräuchte jetzt einen Befehl der diese angezeigte Zahl abspeichert damit ich sie dann in eine ini Datei einfügen kann und das am besten auch mit einem Script. Es geht nicht darum das ich 80 Rechner habe und das sonst von Hand machen müsste.
Trotzdem Danke
Trotzdem Danke
Antwort 3 von Vollhorst
Antwort 4 von needHelp1234
Hey danke,
da hab ich wohl nicht richtig geguckt.Das mit der Ausgabe in einer Textdatei funktioniert jetzt.
Vielleicht kannst du mir hierbei auch helfen.Ich brauch jetzt einen Befehl der eine Zeile in einer Texdatei sucht und durch eine andere Zeile z.B aus einer anderen Textdatei ersetzt. Ist das möglich. Hättest du auch einen Link für mich!!!
Danke
needHelp
da hab ich wohl nicht richtig geguckt.Das mit der Ausgabe in einer Textdatei funktioniert jetzt.
Vielleicht kannst du mir hierbei auch helfen.Ich brauch jetzt einen Befehl der eine Zeile in einer Texdatei sucht und durch eine andere Zeile z.B aus einer anderen Textdatei ersetzt. Ist das möglich. Hättest du auch einen Link für mich!!!
Danke
needHelp
Antwort 5 von Vollhorst
Hi!
Das ist nur bedingt möglich, da man eine Datei nur entweder zum Lesen oder zum Schreiben öffnen kann.
Ein Möglichkeit wäre die Datei komplett einzulesen (mit der FSO-Methode "ReadAll") und dann mit der Split()-Funktion nach der Zeilenendekennung in einen Array zu verwandeln, bei dem jedes Element eine Zeile der Datei enthält. Dann könnte man die gewünschte Zeile suchen, austauschen und dann die Ursprungsdatei wieder mit dem Inhalt des Arrays überschreiben.
Das sollte man aber nur bei kleineren Dateien machen, und man muss die genaue Zeilenendekennung kennen.
Die simplere Methode wäre Folgende:
Angenommen Du hast die Datei A (die verändert werden soll) und die Datei B (mit der Ersatzzeile). Dann öffnest Du eine neue Datei C und liest Zeile für Zeile aus A heraus und schreibst in C hinein. Wenn die gesuchte Zeile auftaucht, schreibst Du an ihrer Stelle die Zeile aus B in C. Dann liest Du die Restlichen aus A und schreibst sie nacheinander in C.
Am Ende löscht Du Datei A und gibst danach der C den Namen von A. Hoffe es war verständlich. ;-)
Die Funktion Instr() gibt die Nummer der Stelle zurück, an der der String "vollhorst" in der Variablen z vorkommt.
Dann wird nicht die aus A gelesene Zeile, sondern die Zeile aus B geschrieben. Wird "vollhorst" nicht gefunden, ist das Ergebnis null und es wird die Zeile aus A in C geschrieben.
Du musst also "vollhorst" durch den String ersetzen, an dem das Skript die zu ersetzende Zeile erkennen soll.
Das ist nur bedingt möglich, da man eine Datei nur entweder zum Lesen oder zum Schreiben öffnen kann.
Ein Möglichkeit wäre die Datei komplett einzulesen (mit der FSO-Methode "ReadAll") und dann mit der Split()-Funktion nach der Zeilenendekennung in einen Array zu verwandeln, bei dem jedes Element eine Zeile der Datei enthält. Dann könnte man die gewünschte Zeile suchen, austauschen und dann die Ursprungsdatei wieder mit dem Inhalt des Arrays überschreiben.
Das sollte man aber nur bei kleineren Dateien machen, und man muss die genaue Zeilenendekennung kennen.
Die simplere Methode wäre Folgende:
Angenommen Du hast die Datei A (die verändert werden soll) und die Datei B (mit der Ersatzzeile). Dann öffnest Du eine neue Datei C und liest Zeile für Zeile aus A heraus und schreibst in C hinein. Wenn die gesuchte Zeile auftaucht, schreibst Du an ihrer Stelle die Zeile aus B in C. Dann liest Du die Restlichen aus A und schreibst sie nacheinander in C.
Am Ende löscht Du Datei A und gibst danach der C den Namen von A. Hoffe es war verständlich. ;-)
set fso=createobject("scripting.filesystemobject")
set i=fso.opentextfile("a.txt")
set o=fso.opentextfile("c.txt",2,true)
while not i.atendofstream
z=i.readline
if instr(z,"vollhorst")<>0 then
set i2=fso.opentextfile("b.txt")
o.writeline(i2.readline)
i2.close
else
o.writeline z
end if
wend
i.close
o.close
fso.deletefile "a.txt"
fso.movefile "c.txt","a.txt"
Die Funktion Instr() gibt die Nummer der Stelle zurück, an der der String "vollhorst" in der Variablen z vorkommt.
Dann wird nicht die aus A gelesene Zeile, sondern die Zeile aus B geschrieben. Wird "vollhorst" nicht gefunden, ist das Ergebnis null und es wird die Zeile aus A in C geschrieben.
Du musst also "vollhorst" durch den String ersetzen, an dem das Skript die zu ersetzende Zeile erkennen soll.
Antwort 6 von needHelp1234
Recht herzlichen Dank für deine Hilfe.
Habe jetzt aus 3 Scripten eins gemacht und es macht genau das was ich wollte.
Danke nochmal!!!
Habe jetzt aus 3 Scripten eins gemacht und es macht genau das was ich wollte.
Danke nochmal!!!

