brennerlein
Goto Top

Xp32 - Registryeintrag per Batch klappt nicht so wie ich will

Also,

ich würde gerne einen Eintrag haben der z.B. so aussieht:


TEST______REG_EXPAND_SZ_______%ProgramFiles%\setup


Wenn ich mit

REG ADD "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v TEST /t REG_EXPAND_SZ /d "%ProgramFiles%\software"

einen Eintrag hinzufüge kommt aber nur folgendes raus

TEST______REG_EXPAND_SZ_______C:\Program Files\setup

ist also bereits aufgelöst face-sad


Wie bekomme ich das "hingebatcht?

Content-ID: 125990

Url: https://administrator.de/forum/xp32-registryeintrag-per-batch-klappt-nicht-so-wie-ich-will-125990.html

Ausgedruckt am: 08.04.2025 um 19:04 Uhr

Logan000
Logan000 29.09.2009 um 08:25:03 Uhr
Goto Top
Moin Moin

Ich kann Dir zwar nicht sagen wie man das als Batch realisiert (ich vermute mal de funktioniert nicht da die Umgebungsvariable sofort aufgelöst wird).
Aber per VBS klappt's so wie du dir das vorstellst:
1
2
3
4
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")  
WSHShell.RegWrite "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment\TEST", "%ProgramFiles%\software"	  
WSHShell.close

Gruß L.
Brennerlein
Brennerlein 29.09.2009 um 08:32:35 Uhr
Goto Top
Danke,

kenne mich zwar mit VBS nicht aus, aber Copy&Paste sollte für das kleine Beispiel ja reichen.

Ein Frage aber noch, wo hast du definiert was für ein Wert es werden soll? Also z.B. ein REG_EXPAND_SZ?

Gruß Stefan.
slubitz76
slubitz76 29.09.2009 um 08:37:54 Uhr
Goto Top
richtig wäre:
REG ADD "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v TEST /t REG_EXPAND_SZ /d %"ProgramFiles"%\software

grüße,
slubitz
Brennerlein
Brennerlein 29.09.2009 um 09:12:57 Uhr
Goto Top
Zitat von @slubitz76:
richtig wäre:
REG ADD "HKLM\SYSTEM\ControlSet001\Control\Session
Manager\Environment" /v TEST /t REG_EXPAND_SZ /d
%"ProgramFiles"%\software

grüße,
slubitz


Hmm, ok, müsste ich mal testen, habe mir jetzt mit

"%%ProgramFiles%%\software"

helfen können face-smile
bundlerteufl
bundlerteufl 29.09.2009 um 09:13:21 Uhr
Goto Top
hi du

du hast 2 möglichkeiten entweder machste das via *.bat oder via *.reg


*.reg

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment]
"Test"="%ProgramFiles%\\software"

das hab ich gerade getestet
Brennerlein
Brennerlein 29.09.2009 um 09:26:45 Uhr
Goto Top
Ich mach es am liebsten per Perl face-wink


Auch bei deiner Lösung fehlt mir die defintion des Wertes REG_EXPAND_SZ oder geschieht das automatisch?
slubitz76
slubitz76 29.09.2009 um 09:39:24 Uhr
Goto Top
für so ganz einfache dinge bietet sich auch AutoIt an. Das verwende ich recht häufig.
Brennerlein
Brennerlein 29.09.2009 um 09:47:10 Uhr
Goto Top
AutoIt?


Also wie geschrieben, am liebsten mache ich es per Perl, aber auf der entsprechenden maschine gibt es keinerlei Zusatzsoftware und es ist auch keine erlaubt.

Daher fallen alle Zusatztools (wie auch perl) schon Mal pauschal weg.
Logan000
Logan000 29.09.2009 um 09:52:01 Uhr
Goto Top
Moin

Den Typ kannst du einfals als zusätzilchen Parameter angeben. Etwa So:
1
2
3
4
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")  
WSHShell.RegWrite "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment\TEST", "%ProgramFiles%\software", REG_EXPAND_SZ	  
WSHShell.close

Gruß L.