SetX
Создание или изменение переменных среды в пользовательской или системной среде. Переменные можно задавать с помощью аргументов, параметров реестра или ввода из файла.
Первоначально, утилита SetX.exe входила в состав Windows 2000 Resource Kit в качестве дополнительного средства системного администрирования, но начиная с Windows Vista - входит в стандартный пакет поставки системы.Синтаксис
Три способа выполнения SetX:- SETX [/S <система> [/U [<домен>\]<пользователь> [/P [<пароль>]]]] var <значение> [/M]
- SETX [/S <система> [/U [<домен\>]<пользователь> [/P [<пароль>]]]] var /K <путь> [/M]
- SETX [/S <система> [/U [<домен\>]<пользователь> [/P [<пароль>]]]] /F <файл> {var {/A x,y | /R x,y строка}[/M] | /X} [/D <разделители>]
Параметры
Параметр | Описание |
---|---|
/S <система> | Подключаемый удаленный компьютер. |
/U [<домен>\]<пользователь> | Пользовательский контекст, в котором должна выполняться эта команда. |
/P [<пароль>] | Пароль для этого пользовательского контекста. |
var | Задаваемая переменная среды. |
<значение> | Значение, назначаемое переменной среды. |
/K <путь> | Задание переменной по информации, содержащейся в параметре реестра. Путь должен задаваться в формате куст\раздел\...\параметр. |
/F <файл> | Имя текстового файла, который следует использовать. |
/A x,y | Задание абсолютных координат файла (строка X, элемент Y) как параметров поиска в файле. (строка X, элемент Y) как параметров поиска в файле. |
/R x,y строка | Задание координат относительно значения "строка" как параметров поиска. |
/M | Указание создания переменной среды на системном уровне (HKEY_LOCAL_MACHINE). По умолчанию переменная среды создается в разделе HKEY_CURRENT_USER на уровне пользователя. |
/X | Отображение содержимого файла с координатами x,y. |
/D <разделители> | Указание дополнительных разделителей, таких как "," или "\". Встроенные разделители: символы пробела, табуляции, возврата каретки и перевода строки. Дополнительным разделителем может быть любой знак ASCII. Максимальное число разделителей, включая встроенные, равняется 15. |
/? | Вывод справки по использованию. |
- 1) SETX записывает переменные в главную среду в реестре.
- 2) На локальном компьютере переменные, созданные или измененные данным средством, будут доступны в будущем окне командной строки, но не в текущем окне CMD.exe!
- 3) На удаленном компьютере переменные, созданные или измененные данным средством, будут доступны со следующего сеанса входа.
- 4) Допустимые типы параметров реестра: REG_DWORD, REG_EXPAND_SZ, REG_SZ, REG_MULTI_SZ.
- 5) Поддерживаемые кусты: HKEY_LOCAL_MACHINE (HKLM), HKEY_CURRENT_USER (HKCU).
- 6) Разделители определяются с учетом регистра.
- 7) Значения типа REG_DWORD извлекаются из реестра в десятичном формате.
Примеры
SETX MY_SUPER_VAR NEW
SETX MY_SUPER_VAR OLD /M
SETX /S comp406_1 /U Ivanov /P 1q2w3e4r MACHINE COMPAQ
Если значение переменной содержит пробелы и (или) разделители, то оно должно быть заключено в кавычки.
SETX My_var "hello, world"
SETX JAVA_HOME "C:\Program Files\Java\jdk1.6.0_31" /M
Команда SETX может быть использована для извлечения значения из текстового файла фиксированной структуры.
SETX My_var /F ping_localhost.out /A 1,3
ping localhost<ping_localhost.out
Для облегчения расчета абсолютных координат файла (параметр /A строка X, элемент Y) удобно использовать параметр /X (для небольших файлов).
SETX /F ping_localhost.out /X
setx /f ping_localhost.out /x /d "=" | findstr "TTL"
Для работы с переменными среды (переменными окружения) можно использовать средства WSH (Windows Script Host). Примеры можно посмотреть здесь.
Следует отметить, что эти примеры будут работать даже в windows XP, где стандартно нет команды setx.
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).
Новый раздел о средствах командной строки в рамках этого же проекта расположен здесь