Назад | Перейти на главную страницу

Как я могу изменить переменную среды пользователя PATH, не выходя из системы?

Вопрос в значительной степени говорит обо всем; У меня есть пользователи, у которых нет разрешения на редактирование своих PATH переменная среды, и если им по какой-то причине нужно ее изменить, им необходимо выйти из системы, чтобы администратор мог войти в систему и изменить PATH для них, прежде чем пользователь снова войдет в систему. Это не идеально. Можно ли это сделать лучше?

Для учетных записей без прав администратора:

Откройте «Учетные записи пользователей» и выберите «Изменить мои переменные среды» (http://support.microsoft.com/kb/931715).

Этот диалог покажет вам ваши текущие пользовательские переменные, а также системные переменные. Возможно, вам потребуется добавить локальную переменную PATH, если вы еще этого не сделали.

Чтобы обновить свой путь, включив, например, каталог Python 3.3, нажмите New:

Имя переменной: PATH Значение переменной:% PATH%; C: \ Python33

Это создает локальный PATH, взяв текущий системный PATH и добавив к нему.

Мой компьютер / Свойства / Дополнительно / Переменные среды. Изменения вступают в силу немедленно Кроме для уже открытых окон командной строки. Не нужно выходить и снова входить.

НОТА: Если у вас нет доступа к этому окну, вы можете получить его, запустив rundll32 sysdm.cpl,EditEnvironmentVariables из окна «Выполнить» или из командной строки.

Вы всегда можете вызвать оболочку cmd с правами администратора (или любым другим методом runas) и использовать такой инструмент, как SETX для постоянного изменения пути. Существующие оболочки и / или запущенные программы, вероятно, будут использовать старый путь, но любая новая оболочка / программа будет использовать новые настройки.

В командной строке вы можете:

set PATH=C:\somedir;%PATH%

но это изменяет его только для командной строки (и любых приложений, запускаемых из командной строки). Предполагая, что вы хотите, чтобы это применялось ко всему, что пользователь делает, вы меняете переменные среды пользователя. Щелкните правой кнопкой мыши «Мой компьютер», «Свойства», «Дополнительно», «Переменные среды» и выберите «Пользовательские переменные для добавления переменной»:

PATH = C:\whatever

Когда пользователь входит в систему, он добавляется к общесистемному пути.

Пользователь может установить переменную PATH в командной строке, которая переопределит общесистемную переменную PATH, даже если у пользователя нет прав «Администратор». Изменение вступит в силу для новых процессов, которые пользователь запускает из этой командной строки. (Существующий процесс Explorer и любые другие процессы, которые пользователь запускает при внесении изменения, не «увидят» это изменение.)

В дополнение к приведенным выше ответам вы также можете обновить реестр (который имеет то преимущество, что его можно использовать в сценариях):

Переменная PATH хранится в HKEY_CURRENT_USER \ Environment.

Чтобы прочитать текущий путь:

reg query HKEY_CURRENT_USER\Environment /v PATH

Чтобы добавить к пути значение c: \ somedir:

reg add HKEY_CURRENT_USER\Environment /v PATH /d "%PATH%;c:\somedir"

Обратите внимание, что процессы читают среду при запуске, поэтому вам придется перезапустить процесс, чтобы он получил новый путь.

Обновление: я нашел еще один способ запустить:

rundll32 sysdm.cpl,EditEnvironmentVariables

Опять же, этот апплет редактирует реестр и имеет тот же эффект, что и выше.