Возможно ли в Win менять значения переменных окружения буз перезагрузки?
Да и вообще, существует ли удобный инструментарий для работы с ними. Стандартный похож на издевательство ибо:
— если переменная длинная и является перечислением (типа PATH), то фиг в ней что найдешь в этом маленьком окошке, который предлагается для ее редактирования
— чтобы ввести новую переменную нужно нажать Добавить, нужно что-то написать в очень маленьком окошке и нажать ОК
IMHO обычный текстовый файл был бы и то удобнее, и не было бы очередной проблемы
— резервного копирования эих переменных
Кстати, почему после изменения переменной окрыжения нужно обязательно перезагружаться иначе она не вступит в силу? Что за такие важные структуры инициализуруются в windows internals, что я не могу прописать путь где ОС будет искать файлы без ее перезагрузки? Бред? Или я что-то не понимаю?
Кроме того надоели такие вещи:
После установки компилятора необходимо проверить, что в переменной окружения PATH прописан путь:
<путь к компилятору>bin\i386-win32\;
Причём, он должен там быть раньше, чем пути к остальным FPC, если их в системе несколько. Кроме того, если в системе установлен, например, MinGW, то, если, в PATH путь к нему прописан раньше, чем к FPC, то будет использован не ld из FPC, а ld из MinGW и ничего собрать не удастся.
В общем, может кто-то нашел что-то удобное, чтобы сосуществовать рядом с этим безобразием?
p.s. Linux не предлагать
... << RSDN@Home 1.2.0 alpha rev. 786>>
Здравствуйте, DemAS, Вы писали:
DAS>Возможно ли в Win менять значения переменных окружения буз перезагрузки?
Без перезагрузки процесса которому нужно перечитать обновленный environment — нет.
Без перезагрузки всей системы — пожалуй да.
DAS> Да и вообще, существует ли удобный инструментарий для работы с ними. Стандартный похож на издевательство ибо:
DAS> — если переменная длинная и является перечислением (типа PATH), то фиг в ней что найдешь в этом маленьком окошке, который предлагается для ее редактирования — чтобы ввести новую переменную нужно нажать Добавить, нужно что-то написать в очень маленьком окошке и нажать ОК
setx path "%PATH%;C:\New Folder"
setx — из
ресурскита к XP, например.
DAS> IMHO обычный текстовый файл был бы и то удобнее, и не было бы очередной проблемы
Удобнее чем и в каком виде?
Кстати "эти маленькие окошки" — просто frontend к редактированию значений в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Т.е. если удобнее для этого пользоваться текстовыми файлами (для импорта в regedit, например) — пожалуйста.
Но запуск/перезапуск процесса которому нужно перечитать изменения понадобится по любому.
DAS> — резервного копирования эих переменных
set > backup_env.txt ?
DAS> Кстати, почему после изменения переменной окрыжения нужно обязательно перезагружаться иначе она не вступит в силу? Что за такие важные структуры инициализуруются в windows internals, что я не могу прописать путь где ОС будет искать файлы без ее перезагрузки? Бред? Или я что-то не понимаю?
Оккрываю System properties->Advanced->Environment, добавляю какую-нибудь лабуду в конце %PATH%, нажимаю ОК.
Запускаю cmd, пишу set и вижу в %PATH% ту самую лабуду.
Что я делаю не так?
DAS> Кроме того надоели такие вещи:
DAS>DAS> После установки компилятора необходимо проверить, что в переменной окружения PATH прописан путь:
DAS><путь к компилятору>bin\i386-win32\;
DAS>Причём, он должен там быть раньше, чем пути к остальным FPC, если их в системе несколько. Кроме того, если в системе установлен, например, MinGW, то, если, в PATH путь к нему прописан раньше, чем к FPC, то будет использован не ld из FPC, а ld из MinGW и ничего собрать не удастся.
DAS> В общем, может кто-то нашел что-то удобное, чтобы сосуществовать рядом с этим безобразием?
DAS> p.s. Linux не предлагать
А в Linux'е разве по другому?
Предложите другой разумный способ указания путей для поиска исполняемых файлов для запуска с системой приоритетов...
Здравствуйте, DemAS, Вы писали:
DAS>Возможно ли в Win менять значения переменных окружения буз перезагрузки?
Конечно.
DAS> Да и вообще, существует ли удобный инструментарий для работы с ними. Стандартный похож на издевательство ибо:
DAS> — если переменная длинная и является перечислением (типа PATH), то фиг в ней что найдешь в этом маленьком окошке, который предлагается для ее редактирования
DAS> — чтобы ввести новую переменную нужно нажать Добавить, нужно что-то написать в очень маленьком окошке и нажать ОК
DAS> IMHO обычный текстовый файл был бы и то удобнее, и не было бы очередной проблемы
DAS> — резервного копирования эих переменных
Ну тут да... Косяк. Можно напрямую через реестр, если этот способ можно назвать удобным...
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment — это системные переменные
HKEY_CURRENT_USER\Environment — пользовательские
Кроме того, в Support Tools'ах есть утилита setx, которая, в отличие от set позволяет делать постоянные изменения в переменных окружения.
DAS> Кстати, почему после изменения переменной окрыжения нужно обязательно перезагружаться иначе она не вступит в силу? Что за такие важные структуры инициализуруются в windows internals, что я не могу прописать путь где ОС будет искать файлы без ее перезагрузки? Бред? Или я что-то не понимаю?
Видать что-то не понимаешь. В винде, как и во многих других ОС, окружение привязано к процессу — поэтому, чтобы отразить изменения в окружении надо перезапустить процесс. Т.е. поменял PATH, перезапусти cmd.exe и он уже будет с новыми путями.
DAS> Кроме того надоели такие вещи:
DAS>DAS> После установки компилятора необходимо проверить, что в переменной окружения PATH прописан путь:
DAS><путь к компилятору>bin\i386-win32\;
DAS>Причём, он должен там быть раньше, чем пути к остальным FPC, если их в системе несколько. Кроме того, если в системе установлен, например, MinGW, то, если, в PATH путь к нему прописан раньше, чем к FPC, то будет использован не ld из FPC, а ld из MinGW и ничего собрать не удастся.
Не вижу проблемы. Сделай себе 2 скрипта — один при запуске cmd добавляет в PATH пути к MinGW, другой к чему-нибудь еще. Запускай нужный и не засоряй общесистемные переменные...
DAS> В общем, может кто-то нашел что-то удобное, чтобы сосуществовать рядом с этим безобразием?
Ну что знал, то предложил...
DAS> p.s. Linux не предлагать
А там по сути также. Переменные окружения вещь очень старая и ведет себя так, как это было придумано десятилетия назад.
Здравствуйте, Sergeant_BY, Вы писали:
S_B>setx path "%PATH%;C:\New Folder"
S_B>setx — из ресурскита к XP, например.
Спасибо, гораздо удобнее.
DAS>> — резервного копирования эих переменных
S_B>set > backup_env.txt ?
А обратно как?
Понимаю, что можно написать скрипт, который сформирует набор команд для setx, но может есть что-то готовое.
S_B>Оккрываю System properties->Advanced->Environment, добавляю какую-нибудь лабуду в конце %PATH%, нажимаю ОК.
S_B>Запускаю cmd, пишу set и вижу в %PATH% ту самую лабуду.
S_B>Что я делаю не так?
Я тоже вижу. Но если я пытаюсь запустить exe-к из каталога, находящегося в добавленной директории — система говорит, что не знает такого.
Хотя возможно это я ступил — наверное надо было перезапустить cmd.
DAS>> p.s. Linux не предлагать
S_B>А в Linux'е разве по другому?
Не знаю. Но на всякий случай предупредил.
Спасибо
... << RSDN@Home 1.2.0 alpha rev. 786>>
--
...belive in the matrix...
Posted via RSDN NNTP Server 2.1 beta