Batch - Registry schreiben, lesen
Ich hab ein kleines Programm geschrieben, welches 2 werte aus Dateien liest, die aber nun immer aus der registry gelesen werden sollen.
Ich hab Windows XP SP3, welche Version von cmd und regedit.exe oder so weis nich wo man das sieht)
Also ich hab vor so 2 Wochen angefangen mir selber so nen bisschen Batch wisse anzueignen. Vieles habe ich auch von dieser Seite gelernt.
Wo oben irgendwo stehen (müsste)^^ habe ich ein Programm was 2 Variablen aus Text dateien liest. ( Besser wär natürlich gewesen beide aus einer aber da bin ich zu doof für.)
Jezt will ich aber dass das Programm die Werte aus der Registry liest, aber auch was reinschreibt beim ersten Start der Datei ( Nen Setup sozusagen )
In den anderen Beiträgen versteh ich nich alles und ich hab keinen gefunden, mit nem ähnlichen Problem und dann das Wissen zusammenzusetzen aus irgendwelchen Sachen die ich nur halb verstehe schaff ich irgendwie nich...
Mein Plan soweit: ( is nur nen grober Plan, wo die Befehle natürlich nich so gehen würden)
P.S.: Mit registry befehlen hab ich noch gar nix gemacht/geschafft. Außerdem der eine Wert, der ausgelesen werden soll ist ein Passwort, was wenn möglich noch irgendwie verschlüsselt werden soll.
...Und warum ich die nich per Hand erstellen und einstelle: Das Prog. is nich nur für mich sondern auch für andere, die sich mit sowas garnicht auskennen.
Ich hab Windows XP SP3, welche Version von cmd und regedit.exe oder so weis nich wo man das sieht)
Also ich hab vor so 2 Wochen angefangen mir selber so nen bisschen Batch wisse anzueignen. Vieles habe ich auch von dieser Seite gelernt.
Wo oben irgendwo stehen (müsste)^^ habe ich ein Programm was 2 Variablen aus Text dateien liest. ( Besser wär natürlich gewesen beide aus einer aber da bin ich zu doof für.)
Jezt will ich aber dass das Programm die Werte aus der Registry liest, aber auch was reinschreibt beim ersten Start der Datei ( Nen Setup sozusagen )
In den anderen Beiträgen versteh ich nich alles und ich hab keinen gefunden, mit nem ähnlichen Problem und dann das Wissen zusammenzusetzen aus irgendwelchen Sachen die ich nur halb verstehe schaff ich irgendwie nich...
Mein Plan soweit: ( is nur nen grober Plan, wo die Befehle natürlich nich so gehen würden)
:anfang
if not exist firstrun do reg add firstrun wert 1 (firstrun is nen schlüssel der in HKLM\SOFTWARE\blabla\ mit dem wert 1 hin soll aber nur wenn der schlüssel noch nich existiert)
if firstrun 1 goto setup
nach setup: key is da nix erstellen, firstrun is nich 1 nix machen (das hier erst lesen nach :setup) :-)
dann werte auslesen
reg query bla bla > set info1=ausgelesen1 ( hier gehts natürlich nich mit > set bla ; aber ich will halt irgendwie die ausgelesenen daten in variablen setzen)
reg query bla bla > set info2=ausgelesen2
goto rest des programms
:setup
echo was soll setting 1 sein?
set /p setting1=
reg add setting1
echo was soll 2 sein?
set /p setting2=
reg add setting2
setup fertig
reg add firstrun wert 0 & goto anfang (hier wichtig den wert da lassen, aber auf null setzen oder sonstwas nurnich 1)
:::::::::::::::plan ende
P.S.: Mit registry befehlen hab ich noch gar nix gemacht/geschafft. Außerdem der eine Wert, der ausgelesen werden soll ist ein Passwort, was wenn möglich noch irgendwie verschlüsselt werden soll.
...Und warum ich die nich per Hand erstellen und einstelle: Das Prog. is nich nur für mich sondern auch für andere, die sich mit sowas garnicht auskennen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 116168
Url: https://administrator.de/contentid/116168
Ausgedruckt am: 26.11.2024 um 02:11 Uhr
7 Kommentare
Neuester Kommentar
> :anfang
> if not exist firstrun do reg add firstrun wert 1 (firstrun is nen
> schlüssel der in HKLM\SOFTWARE\blabla\ mit dem wert 1 hin soll
> aber nur wenn der schlüssel noch nich existiert)
> if firstrun 1 goto setup
> nach setup: key is da nix erstellen, firstrun is nich 1 nix machen
> (das hier erst lesen nach :setup) :-)
>
> dann werte auslesen
> reg query bla bla > set info1=ausgelesen1 ( hier gehts
> natürlich nich mit > set bla ; aber ich will halt irgendwie
> die ausgelesenen daten in variablen setzen)
> reg query bla bla > set info2=ausgelesen2
> goto rest des programms
>
> :setup
> echo was soll setting 1 sein?
> set /p setting1=
> reg add setting1
> echo was soll 2 sein?
> set /p setting2=
> reg add setting2
> setup fertig
> reg add firstrun wert 0 & goto anfang (hier wichtig den wert da
> lassen, aber auf null setzen oder sonstwas nurnich 1)
> :::::::::::::::plan ende
format a:, b:, c:, d:, e, und überhaupt ...
echo wow, da hast du dich aber richtig bemüht.
echo darf ich das montag morgens im büro ans schwarze brett pinnen ?
rem (ich machs auch nur a4, versprochen)
exit
Wenn es um nur 2 Registry-Werte auf 1-5 clients würde ich das ganze manuell (regedit) machen, ohne Batch.
Ansonten leg ich dir diesen Beitrag ans Herz:
Registry-Wert mit Batch auslesen, ändern und wieder einspielen
oder noch 10 andere hier im Forum, einfach die Suche benutzen.
:::::::::::::::plan ende
is nich nur für mich sondern auch für andere, die sich mit
sowas garnicht auskennen.
sowas garnicht auskennen.
Das ist natürlich klar, wen sich der andere nicht auskennt
(is für nen freund und ich wills halt gut machen deshalb auch
die tolle code box -> weil man sich erst nen plan machen soll was
man vor hat, wenn es gut sein soll ohne unnötiges zeugs oder so)
die tolle code box -> weil man sich erst nen plan machen soll was
man vor hat, wenn es gut sein soll ohne unnötiges zeugs oder so)
Ähhhmmm Ja, Code Box = was ist das jetzt genau ?
Fangen wir nochmal GANZ von vorne an:
Wie sieht der IST-Zustand aus ?
- Welche Reg-Einträge sollen auf welche Werte hin geprüft werden
- Welchen Werte sollen gesetzt werden ?
PS: Ich komm mir etwas an Harter Fall erinnert vor, sorry.
Hallo,
Zeile 31
würde ich ersetzen mit
siehe 'IF /?'
In Zeile 32 solltest du dir eigentlich das IF sparen können, bzw einfach GOTO setup weil entweder die var ist J oder nicht. Andernfalls gibt es ja immernoch das ELSE.
Dies soll kein Klug###en sein (ich kann selber nur bruchstückhaft scripten), sondern einfach nur ein paar Tips für die Zukunft in der Hoffnung, dass es irgendwann leichter wird.
Grüßle,
holzholer
Zeile 31
if %save%==J goto next
würde ich ersetzen mit
if /I %save%==J goto next
siehe 'IF /?'
Die /I-Option wird angegeben, um die Groß-/Kleinschreibung beim Vergleich zu ignorieren.
In Zeile 32 solltest du dir eigentlich das IF sparen können, bzw einfach GOTO setup weil entweder die var ist J oder nicht. Andernfalls gibt es ja immernoch das ELSE.
Dies soll kein Klug###en sein (ich kann selber nur bruchstückhaft scripten), sondern einfach nur ein paar Tips für die Zukunft in der Hoffnung, dass es irgendwann leichter wird.
Grüßle,
holzholer