Win-Umgebungsvariable setzen
ingo
- perl
Hallo zusammen,
Ich suche ich eine möglichkeit eine Windows Umgebungsvariable aus einem Dos Fenster (Perl anwendung) dauerhaft zu ändern.
set name=wert setzt sie zwar, aber nur innerhalb diesem Fenster. Gibt es einen anderen Befehl ?
Ich brauche die Variable auch nach dem schließen der Anwendung/des Fensers noch.
Ingo
Halihallo ingo
Ich suche ich eine möglichkeit eine Windows Umgebungsvariable aus einem Dos Fenster (Perl anwendung) dauerhaft zu ändern.
Das ist per se nicht möglich.
a) Perl's %ENV ist nichts anderes als eine Kopie der Environment-
Variablen
b) Jede DOS-Box erhält automatisch ihre eigene Kopie der Umgebungs-
Variablen; wenn diese geändert werden, sind sie nach Beenden der
Sitzung verloren.
c) Auch ein Backend zu C's setenv ist wegen b) und deiner
Aufgabenstellung unmöglich.
set name=wert setzt sie zwar, aber nur innerhalb diesem Fenster. Gibt es einen anderen Befehl ?
Nicht direkt.
Ich brauche die Variable auch nach dem schließen der Anwendung/des Fensers noch.
Die einzige Möglichkeit besteht darin, direkt mit dem Betriebssystem
zu "kommunizieren":
perldoc Win32::Registry
Die Environment-Variablen (vom System, nicht dem User, diese liegen
in HKEY_CURRENT_USER) liegen unter:
HKEY_LOCAL_MASCHINE//SYSTEM/CurrentControlSet/Control/Session Manager/Environment
Vom User liegen sie in:
HKEY_CURRENT_USER//Environment
Viele Grüsse
Philipp