?
Hallo,
system ist denkbar schlecht, und erst recht nicht dafür zu gebrauchen, eine Umgebungs-Variable zu setzen. Warum? Der einfache system-Aufruf startet den Kommando-Prozessor als neuen Prozeß, für diesen Prozeß wird dann zwar die Umgebungs-Variable tatsächlich gesetzt (hinzugefügt zu den schon vorhandenen Umgebungs-Variablen für diesen Prozeß), aber dann ist der system-Aufruf abgeschlossen, der Kommando-Prozessor und damit der Prozeß, der ihn gestartet hat, wird beendet, und die dort gesetzte Umgebungs-Variable existiert nicht mehr für andere Prozesse.
Jeder einzelne Aufruf eines Konsolen-Fensters (Eingabe-Aufforderung) ist wieder ein einzelner, getrennter Prozeß, der nichts mit anderen geöffneten Konsolen-Fenstern zu tun hat. D.h., du kannst erst einmal nicht in einem Konsolen-Fenster ein Set ausführen, und dann ein weiteres öffnen, und dann dort Set eingeben, und dann ist die Variable dort zu sehen. Das ist nicht der Fall, weil wie oben gesagt, jeder Kommando-Prozessor seinen eigenen Satz von Umgebungs-Variablen vom System bekommt. Solltest du versucht haben, diese System-Variablen zu setzen (die man also bei z.B. XP/NT unter "Arbeitsplatz"->"Eigenschaften" findet), dann mußt du ganz anders vorgehen, die stehen nämlich in der Registry, wo man sie findet, und wie man genau vorgeht, steht hier:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/environment_variables.asp
MfG