Supportnet Computer
Planet of Tech

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

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

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

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. ;-)

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: