С помощью команды SET добавить к вашему пути?

Если я хочу добавить java \bin в переменную окружения, могу ли я сделать это из командной строки с помощью команды SET или это просто временно?

3 ответа

Решение

Это просто временно для среды текущего процесса. Есть setx, если вы хотите сделать более постоянное изменение.

Каждый процесс наследует переменные среды от процесса, который его породил, и любые изменения, которые они вносят, используя SET команда является локальной для этого процесса (и любой, который она появляется после изменения) по умолчанию.

Чтобы внести изменения в переменную среды, которая "прилипает", будь то для текущего пользователя или всей системы, вам необходимо использовать специальный инструмент. Есть много таких инструментов, но я дам вам список лучших.

  • Существует Microsoft SETX, как упоминал Рональд. Его можно найти в комплекте ресурсов или отдельно от нескольких страниц Microsoft. Обычно это хороший вариант, с которым у большинства людей проблем не будет. Тем не менее, тестирование показало, что оно может не работать или даже аварийно завершить работу, если значение слишком велико (кажется, что оно имеет ограничение ~1 КБ). И как это происходит, PATH переменная является наиболее вероятной переменной, чтобы получить действительно долго...

  • В CodeProject есть инструмент SetEnv, который выполняет эту функцию. Это мой текущий фаворит, потому что я работал с автором, чтобы улучшить его и решить некоторые изломы; так что он оправдывает все мои ожидания от такого инструмента.

  • Существует другой сторонний инструмент под названием SETENV, который также выполняет эту функцию.

  • Кроме того, вы можете изменить переменную через MyComputer->Properties->Advanced->EnvironmentVariables интерфейс.

  • Наконец, вы могли бы пойти ручным путем (я написал скрипт, чтобы сделать это в крайнем случае), где вы устанавливаете строку среды непосредственно в реестр и выдаете сообщение WM_SETTINGCHANGE для всех окон верхнего уровня.

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

SET PATH="%path%;C:\Newpath"

или же

PATH "%path%;C:\Newpath"

Но помните, что ни одна из предыдущих команд не будет придерживаться, поэтому вы можете использовать предыдущую команду, заменив вызов SET с SETX, SetEnvи т.д. Последняя команда не может быть привязана.

НТН

По моему опыту, это временно и влияет только на окно команды, в котором вы его выполнили. Вы должны изменить настройки системы через панель управления, чтобы это происходило для всех новых окон.

Другие вопросы по тегам