У чому різниця між
SETX
іSET
?
Як я розумію:
обидва використовуються для встановлення змінних середовища,
SETX
призначених для змінних користувачів.
SET
призначений для змінних оболонок.
У чому різниця між
SETX
іSET
?
Як я розумію:
обидва використовуються для встановлення змінних середовища,
SETX
призначених для змінних користувачів.
SET
призначений для змінних оболонок.
Відповіді:
Боюся, це не зовсім так просто. Як ви пропонуєте, змінні середовища не обмежені обсягом, але ви маєте рацію, що час порівняння дієслів у змінній відрізняється.
Set
змінює значення поточного середовища оболонки (вікна), і зміна доступна негайно, але є тимчасовою. Зміна не вплине на інші запущені оболонки, і як тільки ви закриєте оболонку, нове значення втрачається до тих пір, поки ви знову не будете встановлені.
setx
постійно змінює значення, яке впливає на всі майбутні оболонки, але не змінює оточення вже запущених оболонок. Вам потрібно вийти з оболонки та знову відкрити її, перш ніж зміни стануть доступними, але значення залишатиметься модифікованим, поки ви знову не зміните його.
Дивіться тут приклад: http://batcheero.blogspot.com/2008/02/set-and-setx.html
Насправді ми можемо встановити змінну у трьох сферах:
1. Оболонка
2. Користувач
3. Система (машина) або глобальна
C:\Users\977246>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:\Users\977246>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" до вже існуючої змінної шляху (змінна системне середовище).
Без аргументу / m він змінить або створить лише змінну Шлях на рівні користувача.
З посібника користувача setx,
/ M Вказує, що змінну слід встановити в системному середовищі (HKEY_LOCAL_MACHINE). За замовчуванням - встановити змінну в середовищі HKEY_CURRENT_USER.
SET /?
іSETX /?
- це має дати вам кілька ідей.