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-Key: 125990

Url: https://administrator.de/contentid/125990

Printed on: April 19, 2024 at 23:04 o'clock

Member: Logan000
Logan000 Sep 29, 2009 at 06:25:03 (UTC)
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:
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")  
WSHShell.RegWrite "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment\TEST", "%ProgramFiles%\software"	  
WSHShell.close

Gruß L.
Member: Brennerlein
Brennerlein Sep 29, 2009 at 06:32:35 (UTC)
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.
Member: slubitz76
slubitz76 Sep 29, 2009 at 06:37:54 (UTC)
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
Member: Brennerlein
Brennerlein Sep 29, 2009 at 07:12:57 (UTC)
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
Member: bundlerteufl
bundlerteufl Sep 29, 2009 at 07:13:21 (UTC)
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
Member: Brennerlein
Brennerlein Sep 29, 2009 at 07:26:45 (UTC)
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?
Member: slubitz76
slubitz76 Sep 29, 2009 at 07:39:24 (UTC)
Goto Top
für so ganz einfache dinge bietet sich auch AutoIt an. Das verwende ich recht häufig.
Member: Brennerlein
Brennerlein Sep 29, 2009 at 07:47:10 (UTC)
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.
Member: Logan000
Logan000 Sep 29, 2009 at 07:52:01 (UTC)
Goto Top
Moin

Den Typ kannst du einfals als zusätzilchen Parameter angeben. Etwa So:
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.