В чем разница между
SETX
иSET
?
Насколько я понимаю:
оба используются для установки переменных среды
SETX
для пользовательских переменных.
SET
для переменных оболочки.
windows
environment-variables
Premraj
источник
источник
SET /?
иSETX /?
- это должно дать вам некоторые идеи.Ответы:
Боюсь, не все так просто. Как вы предполагаете, переменные окружения не ограничены областью действия, но вы правы в том, что время жизни значения в переменной при сравнении глаголов отличается.
Set
изменяет текущие значения среды оболочки (окна), и изменение доступно немедленно, но оно временно. Изменение не повлияет на другие запущенные оболочки, и как только вы закроете оболочку, новое значение будет потеряно до тех пор, пока вы не запустите set.setx
постоянно изменяет значение, которое влияет на все будущие оболочки, но не изменяет среду уже работающих оболочек. Вы должны выйти из оболочки и открыть ее до того, как изменения станут доступны, но значение останется неизменным, пока вы не измените его снова.Смотрите здесь для примера: http://batcheero.blogspot.com/2008/02/set-and-setx.html
источник
На самом деле мы можем установить переменную в трех областях:
1. Оболочка
2. Пользователь
3. Система (Машина) или Глобальная
SET: Создать или обновить текущую область оболочки для временной.
SETX: создать или обновить текущие переменные среды пользователя для постоянных.
В GUI Пользовательские и Системные переменные среды.
источник
Добавление точки, которая была упущена другими ответчиками.
Чтобы установить переменную системной среды, а не переменную пользовательской среды, нам просто нужно использовать параметр / m в команде setx и запустить ее из командной строки с повышенными правами (администратора).
Пример: откройте командную строку от имени администратора и запустите
Объяснение: Приведенная выше команда добавит «C: \ Users \ User \ Libs» к уже существующей переменной пути (системная переменная среды).
Без аргумента / m он будет вносить изменения или создавать только переменную уровня пользователя.
Из руководства пользователя setx,
источник