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