R.Ralle 10 Geschrieben 11. Februar 2005 Melden Teilen Geschrieben 11. Februar 2005 Hi, Ich habe den den thread gelesen: http://www.mcseboard.de/showthread.php?t=30958&page=1&pp=10&highlight=registry+neu+einlesen aber da war keine lösung! Ich setze mit einem VB-Skript eine neu Umgebungsvariable in "HKCU\Environment" und will diese nutzen. klappt aber erst nach neustart oder ab-und anmelden. kann ich Umgebungsvariable ach andes mit vb setzen, damit sie gleich zu verfügung stehn ? secedit nützt auch nicht ! hilfe! Zitieren Link zu diesem Kommentar
Operator 10 Geschrieben 11. Februar 2005 Melden Teilen Geschrieben 11. Februar 2005 Hi, versuchs mal damit... Dann klappt das ganze auch mit VBScript. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsproenvironment.asp Damit kannst Du Werte auslesen und setzen. Gruß Andre Zitieren Link zu diesem Kommentar
R.Ralle 10 Geschrieben 12. Februar 2005 Autor Melden Teilen Geschrieben 12. Februar 2005 danke @Operator, garnicht schlech, aber ich brauch dei veriable wenn das VBskript durchgelaufen ist in nem betch skrip. neu eingelesen wir mit : Set objShell = WScript.CreateObject('WScript.Shell') Set colUsrEnvVars = objShell.Environment('USER') colUsrEnvVars('APP_VARIABLE') = 'Installiert' Wscript.Echo colUsrEnvVars('APP_VARIABLE') leider nichts, sonder nur das anzeigen der variable mit vb,(das geht ja sowiso) wenn ich set in der cmd eingebe hat sich nichts geändert !!! gruß ralle Zitieren Link zu diesem Kommentar
Das Urmel 10 Geschrieben 12. Februar 2005 Melden Teilen Geschrieben 12. Februar 2005 Das geht auch nicht was du da vorhast. cmd lädt das Environment nur beim Start - später nicht mehr Du könntest aber dir mal setlocal & endlocal anschauen - damit bekommts du das hin. Zitieren Link zu diesem Kommentar
Operator 10 Geschrieben 12. Februar 2005 Melden Teilen Geschrieben 12. Februar 2005 Hi Ralle, wie Urmel schon sagt. Das Environment in der DOS-Shell wird nur beim Start ausgelesen und angewandt. Wenn du das Batch-Script aber nach dem Aufrufen des VBScripts ausführst, ist der Wert gesetzt. Kannst Du Testen, in dem Du das Script laufen lässt, danach cmd.exe startest und dann via "set" kontrollierst. Gruß Andre Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 12. Februar 2005 Melden Teilen Geschrieben 12. Februar 2005 Hallo R.Ralle, nach dem Ändern des User Environment in der Registry muss diesegeschrieben und das System über die Änderungen informiert werden. Wie du die API Calls in ein VBScript bekommt bin ich überfragt. Vielleicht hilft dir ein Fertigprodukt wie dieses über Run aufzurufen. SETENV.EXE http://barnyard.syr.edu/~vefatica/#SETENV thorgood Zitieren Link zu diesem Kommentar
R.Ralle 10 Geschrieben 12. Februar 2005 Autor Melden Teilen Geschrieben 12. Februar 2005 @Operator also das ich umgebungsvariablen über vb serzen kann und im vb gleich nutzen kann ist richtig! aber in der cmd mit set werden auch die erst nach neuanmeldung angezeigt! @thorgood das mit SETENV.EXE probier ich gleich mal aus... mal sehen (ich melde dann den erfolg/misserfolg) ralle Zitieren Link zu diesem Kommentar
Operator 10 Geschrieben 12. Februar 2005 Melden Teilen Geschrieben 12. Februar 2005 Hmm... ich hab das in VBScript schon gelöst, da bin ich mir sicher. Ich schau am Montag mal nach, ok? Hab meine Anmeldescripte leider nicht zu Hause ;) Schönes WE Andre Zitieren Link zu diesem Kommentar
R.Ralle 10 Geschrieben 13. Februar 2005 Autor Melden Teilen Geschrieben 13. Februar 2005 @Operator das ist cool, dank für die mühe ! gruß Ralle Zitieren Link zu diesem Kommentar
R.Ralle 10 Geschrieben 14. Februar 2005 Autor Melden Teilen Geschrieben 14. Februar 2005 Tach, ich bin verzweifelt. Weiss den jemand wie ich sonst ein variable, die mit vb gesetzt habe in einer batch nuzen kann ?? ralle Zitieren Link zu diesem Kommentar
Operator 10 Geschrieben 14. Februar 2005 Melden Teilen Geschrieben 14. Februar 2005 Hi Ralle alias Badger ;) also ich hab das ganze bei mir grad noch mal ausprobiert... Set WshShell = WScript.CreateObject("WScript.Shell") Set WshSysEnv = WshShell.Environment("USER") WshSysEnv("TEST") = "OPERATOR" Wenn ich anschließend via Batch die Variable %TEST% auslese enthält diese den richtigen Wert "OPERATOR". Gruß Andre Zitieren Link zu diesem Kommentar
R.Ralle 10 Geschrieben 14. Februar 2005 Autor Melden Teilen Geschrieben 14. Februar 2005 @Operator Danke, das klappt, habs gerade auch probiert! warum ich das am Wochenende nicht hingekrigt habe ? (brett vorm kop!) vielen Dank für dein Mühe Gruß Ralph Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.