setx
Создает или изменяет переменные среды в пользовательской или системной среде, не требуя программирования или скриптов. Команда Setx также извлекает значения разделов реестра и записывает их в текстовые файлы.
Примечание.
Эта команда предоставляет только командную строку или программный способ непосредственного и постоянного задания системных значений среды. Системные переменные среды настраиваются вручную с помощью панель управления или с помощью редактора реестра. Команда set , которая является внутренней интерпретатором команд (Cmd.exe), задает переменные среды пользователя только для текущего окна консоли.
Синтаксис
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable> <value> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable>] /k <path> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] /f <filename> {[<variable>] {/a <X>,<Y> | /r <X>,<Y> <String>} [/m] | /x} [/d <delimiters>]
Параметры
Параметр | Описание |
---|---|
/s <computer> |
Указывает имя или IP-адрес удаленного компьютера. Не используйте обратные очки. Значение по умолчанию — имя локального компьютера. |
/U [<domain>\]<user name> |
Запускает скрипт с учетными данными указанной учетной записи пользователя. Значение по умолчанию — это разрешения системы. |
/p [<password> ] |
Указывает пароль учетной записи пользователя, указанной в параметре /u . |
<variable> |
Указывает имя переменной среды, которую требуется задать. |
<value> |
Указывает значение, для которого необходимо задать переменную среды. |
/K <path> |
Указывает, что переменная устанавливается на основе сведений из раздела реестра. Путь использует следующий синтаксис: \\<HIVE>\<KEY>\...\<Value> Например, можно указать следующий путь: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName |
/F <filename> |
Указывает файл, который требуется использовать. |
/a <X>,<Y> |
Задает абсолютные координаты и смещение в качестве параметров поиска. |
/R <X>,<Y> <String> |
Задает относительные координаты и смещение из строки в качестве параметров поиска. |
/m | Указывает, чтобы задать переменную в системной среде. Параметр по умолчанию — локальная среда. |
/x | Отображает координаты файла, игнорируя параметры командной строки /a, /r и /d . |
/D <delimiters> |
Задает разделители, такие как , или \ использовать в дополнение к четырем встроенным разделителям — ПРОБЕЛ, TAB, ВВОД и LINEFEED. Допустимые разделители включают любой символ ASCII. Максимальное число разделителей равно 15, включая встроенные разделители. |
/? | Отображение справки в командной строке. |
Замечания
Эта команда аналогична служебной программе UNIX SETENV.
Эту команду можно использовать для задания значений переменных пользовательской и системной среды из одного из трех источников (режимов): режима командной строки, режима реестра или режима файлов.
Эта команда записывает переменные в главную среду в реестре. Переменные, заданные с переменными setx , доступны только в будущих окнах команд, а не в текущем окне команд.
HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE являются единственными поддерживаемыми кустами. REG_DWORD, REG_EXPAND_SZ, REG_SZ и REG_MULTI_SZ являются допустимыми типами данных RegKey .
Если вы получаете доступ к значениям REG_MULTI_SZ в реестре, извлекается и используется только первый элемент.
Эту команду нельзя использовать для удаления значений, добавленных в локальные или системные среды. Эту команду можно использовать с именем переменной и без значения, чтобы удалить соответствующее значение из локальной среды.
REG_DWORD значения реестра извлекаются и используются в шестнадцатеричном режиме.
Режим файла поддерживает только синтаксический анализ возвращаемых каретки и текстовых файлов канала строк (CRLF).
При выполнении этой команды в существующей переменной удаляются все ссылки на переменные и используются развернутые значения.
Например, если переменная %PATH% имеет ссылку на %JAVADIR%, а %PATH% управляется с помощью setx, %JAVADIR% развертывается, а его значение назначается непосредственно целевой переменной %PATH%. Это означает, что будущие обновления %JAVADIR% не будут отражены в переменной %PATH%.
Помните, что при назначении содержимого переменной с помощью setx существует ограничение в 1024 символов.
Это означает, что содержимое обрезается при переходе на 1024 символов и что обрезанный текст применяется к целевой переменной. Если этот обрезанный текст применяется к существующей переменной, это может привести к потере данных, ранее удерживаемых целевой переменной.
Примеры
Чтобы задать переменную среды MACHINE в локальной среде значением Brand1, введите:
setx MACHINE Brand1
Чтобы задать переменную среды MACHINE в системной среде значением Brand1 Computer, введите:
setx MACHINE Brand1 Computer /m
Чтобы задать переменную среды MYPATH в локальной среде, чтобы использовать путь поиска, определенный в переменной среды PATH , введите:
setx MYPATH %PATH%
Чтобы задать переменную среды MYPATH в локальной среде, чтобы использовать путь поиска, определенный в переменной среды PATH после замены ~ %на , введите:
setx MYPATH ~PATH~
Чтобы задать переменную среды MACHINE в локальной среде бренд1 на удаленном компьютере с именем computer1, введите следующее:
setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1
Чтобы задать переменную среды MYPATH в локальной среде, чтобы использовать путь поиска, определенный в переменной среды PATH на удаленном компьютере с именем computer1, введите:
setx /s computer1 /u maindom\hiropln /p p@ssW23 MYPATH %PATH%
Чтобы задать переменную среды TZONE в локальной среде значением, найденным в разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName , введите:
setx TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
Чтобы задать переменную среды TZONE в локальной среде удаленного компьютера с именем computer1 значение, указанное в разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName , введите следующее:
setx /s computer1 /u maindom\hiropln /p p@ssW23 TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
Чтобы задать переменную среды BUILD в системной среде значением, найденным в разделе реестра HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber , введите следующее:
setx BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber /m
Чтобы задать переменную среды BUILD в системной среде удаленного компьютера с именем Computer1 значением, найденным в разделе реестра HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber , введите следующее:
setx /s computer1 /u maindom\hiropln /p p@ssW23 BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber /m
Чтобы отобразить содержимое файла с именем Ipconfig.out, а также соответствующие координаты содержимого, введите:
setx /f ipconfig.out /x
Чтобы задать переменную среды IPADDR в локальной среде значением, найденным в координате 511 в файле Ipconfig.out , введите следующее:
setx IPADDR /f ipconfig.out /a 5,11
Чтобы задать переменную среды OCTET1 в локальной среде значение, найденное в координате 5,3 в файле Ipconfig.out с разделителями #$*., введите:
setx OCTET1 /f ipconfig.out /a 5,3 /d #$*.
Чтобы задать переменную среды IPGATEWAY в локальной среде значение, найденное в координате 0,7 относительно координат шлюза в файле Ipconfig.out, введите:
setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway
Чтобы отобразить содержимое файла Ipconfig.out, а также соответствующие координаты содержимого на компьютере с именем computer1, введите следующее:
setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x