Hi,
ich möchte gerne Systemvariablen setzen (keine temporären mit EnvSet!!!). Ich weiß, dass es das CMD-Tool setx gibt, möchte das ganze aber mit AutoIt-Mitteln lösen. habe dazu folgendes Skript geschrieben:
[autoit]Func _EnvSetSys(Const $S_VAR, Const $V_VAL = "")
Local $s_type = "REG_SZ"
If StringInStr($V_VAL, "%") Then $s_type = "REG_MULTI_SZ"
Return (RegWrite("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment", $S_VAR, $s_type, $V_VAL))
EndFunc ;==>_EnvSetSys
_EnvSetSys("MyProgramFiles", "%PROGRAMFILES%\MyApps")
MsgBox(64, "_EnvSetSys", EnvGet("MyProgramFiles"))
Das Ganze wird auch wunderbar eingetragen und taucht auch unter "System->Eigenschaften->Umgebungsvariablen" auf, ich kann sie bloß nicht mittels EnvGet oder über Kommandozeile echo %MyProgramFiles% auslesen (vermute ein Neustart ist notwendig)!
Weiß jemand, wie ich diese Restriktion umgehen kann, so dass die Variable sofort verfügbar ist?