Простіший спосіб зміни змінних середовища в Windows 8? [дублікат]


27

Можливий повтор:
Що таке PATH та інші змінні середовища, і як я можу їх встановити чи використовувати?

Я знаю, що я можу редагувати свої змінні середовища у Windows 8, перейшовши на

Start -> All Apps -> Control panel -> System -> 
    Advanced System Settings -> Advanced -> Environment variables.

Але якщо чесно, це смішно складне.

Чи є простіший спосіб зміни змінних середовища в Windows 8?

Наприклад, якщо я просто хочу додати нову папку до PATH, пройти всі ці кроки дійсно прикро. Користувацький інтерфейс також відстійний, оскільки редагувати довгі значення змінних за допомогою невеликого введення тексту дуже боляче.

Вимога 1: мені потрібно зберегти зміни (наприклад, коли я використовую setв консолі, зміни втрачаються, коли я закриваю консоль)

Вимога 2: Я вважаю за краще рішення, яке не передбачає встановлення додаткових фрагментів програмного забезпечення, оскільки це така проблема, яку я натрапляю щоразу, коли налаштовую нову вікно Windows.


Приємний пост про цю тему: windows-commandline.com/set-path-command-line
Royi

Відповіді:


32

Ви досліджували команду set та setx ? За допомогою них можна встановити стійку змінну. Більше того, значення буде застосовано негайно, не після наступного входу.

Приклад вікна SETкоманди :

Роздрукуйте змінну середовища PATH:

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

Використовуйте команду set для встановлення змінної PATH

C:\Users\Charity>set PATH=%PATH%;C:\epicpath
C:\Users\Charity>

Наведена вище команда стосується лише поточного вікна, і зміна втрачається, коли вікно cmd закрите.

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\epicpath

Приклад вікна SETXкоманди :

Роздрукуйте змінну середовища PATH:

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

Використовуйте setx для встановлення змінної середовища:

C:\Users\Charity>setx PATH "%PATH%;C:\zombiepoke"
SUCCESS: Specified value was saved.

Закрийте та знову відкрийте cmd-термінал, а потім запустіть:

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\zombiepoke

Ви повинні бути обережними з подвійними цитатами. Якщо ви дозволите котирування у вашу змінну шляху, це може щось зламати. Однак вони необхідні для уточнення доповнень до початкового% PATH%.


1
Дякую за пораду! Я спробував, setx PATH=%PATH%;;C:\testале отримую синтаксичну помилку :(
jsalonen

2
Під час використання setx немає знака =. У setx /?
EBGreen

4
Жоден аргумент "setx" не встановлює змінну лише в контексті користувача. Для встановлення в системному контексті використовуйте "setx / M". Якщо ви не знаєте про це, це може вас бентежити, оскільки "echo% PATH%" покаже системні та користувацькі значення об'єднані.
Vituel

Зауважте, що ви повинні перезапустити оболонку після внесення цієї зміни, щоб вона набула чинності.
Даг

незначна примітка: set path= ~ echo %PATH% [ set pathпоказує також значення PATHEXT]
gerryLowry

10

Встановіть змінну оточення у Windows 8.

Ви можете отримати доступ до додаткової настройки системи , клацнувши правою кнопкою миші Computerв file-explorerі збирається properties.

Це те саме, що і старіші версії Windows. Ви також можете встановити змінні середовища з командного рядка, як вказано тут:

Що таке PATH та інші змінні середовища, і як я можу їх встановити чи використовувати?


4

Я змінюю їх у Powershell. Наприклад, щоб додати папку до змінної PATH, відкрийте панель властивостей потім:

$newPath = $env:Path + ';C:\Temp'
[Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine')

Це змінило б це для всіх користувачів. Щоб змінити його лише для користувача, який виконує команду, змініть останній параметр на "Користувач". Або просто змінити його тимчасово в цьому сеансі:

$env:Path += ';C:\temp'

чудово! як ви робите $ env: Path + '; C: \ Temp' в командному рядку? Тут встановлені рішення Set & Setx пояснюють, як встановити весь шлях в командному рядку, але жодне не пояснює, як ДОПОМОГИТИ щось до існуючого шляху.
johny чому

Ось як додавати щось до існуючого шляху в командному рядку. / M використовується для зміни змінної SYSTEM, а не змінної USER. Цитати використовуються, оскільки "Моя папка" містить пробіли: setx PATH "% PATH%; C: \ My Folder" / M
johny why

Єдина проблема використання командного рядка - це обмеження символу 255, і система PATH, ймовірно, перевищить цю (особливо якщо ви додаєте більше каталогів). Отже, Powershell - це шлях (я можу помилитися, але я вважаю, що у Powershell немає обмежень щодо кількості персонажів).
Джоні, чому

3

У командному рядку це досить просто:

set MyVar=HelloWorld

(для переходу до командного рядка введіть cmdна екрані запуску>.)

Щоб переглянути змінну:

echo %MyVar%

Використовуйте setxдля постійного встановлення змінної. Синтаксис дещо інший. Спробуйте заглянути сюди , або там є багато інших сайтів, які підкажуть, як ним користуватися.


Так, дякую людино, я це вже знаю, але проблема полягає в тому, що якщо ви змінюєте зміни таким чином, вони не зберігаються - тобто коли я закриваю і відкриваю командний рядок, змінні повертаються до значень за замовчуванням. Оновлено моє запитання, щоб відобразити це - вибачте.
jsalonen

Чи знаєте ви, чи можу я зробити, setщо збережеться?
jsalonen

1
setx призначений для постійних змін
EBGreen

Чи є спосіб встановити змінну лише до наступного перезавантаження? В іншому випадку, якщо я використовую набір з іншої програми (скажімо, команда ОС від Python або MATLAB), чи буде вона тримати, поки сеанс програми відкритий?
Рой
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.