- Offizieller Beitrag
Das Thema ist nicht AutoIt spezifisch, sondern generell sehr unklar.
Ich wollte (hier) durch Setzen von Umgebungsvariablen (SCITE_USERHOME) unterschiedliche Pfade bereitstellen zum Starten verschiedener SciTE-Versionen.
Das war meine erste intensivere Beschäftigung mit Umgebungsvariablen (bisher hatte ich diese ausschließlich abgefragt). Nun wollte ich diese aber setzen.
Ergebnis:
Die geänderten Variablen haben den neuen Wert nur im direkten Kontext des Änderungsprogrammes. D.h.
VARIABLE Wert: "Alter-Wert"
- Öffnen 1. Konsole
set VARIABLE=Neuer-Wert
- Abfrage in 1. Konsole: set VARIABLE -- Ausgabe: VARIABLE=Neuer-Wert
- parallel Öffnen 2. Konsole
- Abfrage in 2. Konsole: set VARIABLE -- Ausgabe: VARIABLE=Alter-Wert
In AutoIt ist das analog.
EnvSet("Variable", Wert)
EnvUpdate()
EnvGet("Variable") zeigt den neuen Wert, Abfrage über die CMD bringt aber wieder den alten Wert.
Wie also werden von Windows diese Variablen gesetzt? Denn wenn ich das händisch über <Systemeigenschaften> <Umgebungsvariablen> durchführe ist es ja möglich.