PDA

Показать полную графическую версию : [решено] WinXP, добваить переменную в окружение...


semiono
17-01-2010, 19:30
Есть такое SetEnv или EnvSet, извиняюсь, сразу скажу это немного некорректно, хотя и пофиг может быть.
Дело в том, что функция EnvGet() грабит записи вида C:\WINDOWS;
Простым же чтением RegRead() можно получить в виде EXPAND_SZ нормальное %SystemRoot% значение.
Но дело даже не в этом, мне конкретно нужно добавить туда @ScriptDir; & и это тоже не сложно,
но нужно исключить дублирование при неоднократном запуске скрипта.
То-есть надо регекспами исключить @ScriptDir из контекста - "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment", "Path", ...)
перед добавлением @ScriptDir
Но я во-первых регексп не знаю и боюсь их :) И во-вторых что-то даже поиском по хелпу не вижу где RegExp! Помогите! :)

Creat0R
18-01-2010, 00:26
$sPath_Env = RegRead (http://www.autoitscript.com/autoit3/docs/functions/RegRead.htm)("HKEY_CURRENT_USER\Environment", "Path")
$sPath_Env = StringReplace (http://www.autoitscript.com/autoit3/docs/functions/StringReplace.htm)($sPath_Env, @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@ScriptDir), "") & ";" & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@ScriptDir)
$sPath_Env = StringRegExpReplace (http://www.autoitscript.com/autoit3/docs/functions/StringRegExpReplace.htm)($sPath_Env, ";+", ";")
RegWrite (http://www.autoitscript.com/autoit3/docs/functions/RegWrite.htm)("HKEY_CURRENT_USER\Environment", "Path", "REG_SZ", $sPath_Env)




© OSzone.net 2001-2012