в чем разница между
SETX
иSET
?
в моем понимании:
Оба используются для установки переменных окруженияSETX
для пользовательских переменных.SET
для переменных оболочки.
в чем разница между
SETX
иSET
?
в моем понимании:
Оба используются для установки переменных окруженияSETX
для пользовательских переменных.SET
для переменных оболочки.
Я боюсь, что это не так просто. Переменные среды не ограничены областью видимости, как вы предполагаете, но вы правы, что время жизни значения в переменной отличается при сравнении глаголов.
Set
изменяет текущие значения среды оболочки (окна), и изменение доступно немедленно, но временно. Изменение не повлияет на другие запущенные оболочки, и как только вы закроете оболочку, новое значение будет потеряно до этого время, как вы запустите установить снова.
setx
постоянно изменяет значение, которое влияет на все будущие оболочки, но не изменяет среду уже запущенных оболочек. Необходимо выйти из оболочки и снова открыть ее, прежде чем изменение станет доступным, но значение будет оставаться измененным, пока вы не измените его снова.
см. здесь для примера: http://batcheero.blogspot.com/2008/02/set-and-setx.html
фактически мы можем установить переменную в трех областях:
1. Shell
2. Пользователь
3. System (Machine) или Global
C:\Users7246>set /?
Displays, sets, or removes cmd.exe environment variables.
SET [variable=[string]]
variable Specifies the environment-variable name.
string Specifies a series of characters to assign to the variable.
Type SET without parameters to display the current environment variables.
C:\Users7246>setx /?
SetX has three ways of working:
Syntax 1:
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
Syntax 2:
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
Syntax 3:
SETX [/S system [/U [domain\]user [/P [password]]]]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
Description:
Creates or modifies environment variables in the user or system
environment. Can set variables based on arguments, regkeys or
file input.
To remove the variable set value to empty string as follows
Example: setx path ""
в GUI пользователя и переменные окружения.
добавление пункта, который был пропущен другими ответчиками.
чтобы установить системную переменную среды, а не переменную среды пользователя, нам просто нужно использовать параметр /m в команде setx и запустить его из командной строки с повышенными привилегиями(администратор).
setx variable value /m
пример: Откройте Командную строку от имени администратора и выполните команду
setx Path "%Path%;C:\Users\User\Libs" /m
объяснение: Вышеприведенная команда будет добавлена "C:\Users\User\Libs" к уже существующей переменной Path (системная среда Переменная.)
без / m аргумент, он будет вносить изменения или создавать только переменную пути на уровне пользователя.
из руководства пользователя setx,
/ M определяет что переменная должна быть установлена внутри система шириной (параметру) окружающая среда. По умолчанию устанавливается переменная под HKEY_CURRENT_USER окружающая среда.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]