set (переменная среды)

Отображает, задает или удаляет cmd.exe переменные среды. Если используется без параметров, то при установке отображаются текущие параметры переменной среды.

Примечание

Для этой команды требуются расширения команд, которые включены по умолчанию.

Команда set также может выполняться из консоли восстановления Windows с помощью различных параметров. Дополнительные сведения см. в статье о среде восстановления Windows (WinRE).

Синтаксис

set [<variable>=[<string>]]
set [/p] <variable>=[<promptString>]
set /a <variable>=<expression>

Параметры

Параметр Описание
<variable> Указывает переменную среды для задания или изменения.
<string> Указывает строку, связанную с указанной переменной среды.
/p Задает значение <variable> строки ввода, введенной пользователем.
<promptstring> Указывает сообщение, запрашивающее ввод данных пользователем. Этот параметр должен использоваться с параметром /p .
/a Задает <string> числовое выражение, вычисляемое.
<expression> Задает числовое выражение.
/? Отображение справки в командной строке.

Комментарии

  • Если расширения команд включены (по умолчанию) и вы запускаете набор со значением, отображаются все переменные, начинающиеся с этого значения.

  • Символы , , , и являются специальными символами командной оболочки, и они должны предшествовать escape-символу (^) или заключены в кавычки <при использовании <string> (например, "StringContaining&Symbol").^&|> Если строка, содержащая специальный символ, заключена в кавычки, кавычки необходимо указывать как часть значения переменной среды.

  • Используйте переменные среды для управления поведением некоторых пакетных файлов и программ, а также для управления способом отображения и работы подсистемы Windows и MS-DOS. Команда set часто используется в файле Autoexec.nt для задания переменных среды.

  • Если вы используете команду set без параметров, отображаются текущие параметры среды. Эти параметры обычно включают переменные среды COMSPEC и PATH , которые используются для поиска программ на диске. Две другие переменные среды, используемые Windows, — PROMPT и DIRCMD.

  • Если указаны значения <variable> и <string>, указанное <variable> значение добавляется в среду и <string> связывается с этой переменной. Если переменная уже существует в среде, новое строковое значение заменяет старое строковое значение.

  • Если указать только переменную и знак равенства (без <string>) для команды set , значение, связанное с переменной, <string> очищается (как если бы переменная отсутствует).

  • При использовании параметра /a поддерживаются следующие операторы в порядке убывания очередности:

    Оператор Выполненная операция
    ( ) Группирование
    ! ~ - Унарный
    * / % Арифметический
    + - Арифметический
    << >> Логическое смещение
    & Побитовое И
    ^ Побитовое исключающее ИЛИ
    = *= /= %= += -= &= ^= = <<= >>=
    , Разделитель выражений
  • Если вы используете логические (&& или ||) или модули (%) операторы, заключите строку выражения в кавычки. Все нечисловые строки в выражении считаются именами переменных среды, а их значения преобразуются в числа перед их обработкой. Если указать имя переменной среды, которое не определено в текущей среде, значение нуля выделяется, что позволяет выполнять арифметические операции со значениями переменных среды без использования значения % для получения значения.

  • Если вы запускаете параметр /a из командной строки за пределами скрипта команды, оно отображает окончательное значение выражения.

  • Числовые значения — это десятичные числа, если префикс не имеет префикса 0× для шестнадцатеричных чисел или 0 для восьмеричных чисел. Поэтому значение 0×12 совпадает с 18, что и 022.

  • Поддержка расширения отложенной переменной среды отключена по умолчанию, но ее можно включить или отключить с помощью cmd /v.

  • При создании пакетных файлов можно использовать набор для создания переменных, а затем использовать их так же, как и нумерованные переменные %0%9. Переменные %0%9 также можно использовать в качестве входных данных для набора.

  • При вызове значения переменной из пакетного файла заключите значение со знаками процента (%). Например, если пакетная программа создает переменную среды с именем BAUD, можно использовать строку, связанную с BAUD , в качестве заменяемого параметра, введя %baud% в командной строке.

Примеры

Чтобы задать значение TEST^1 для переменной среды с именем testVar, введите:

set testVar=test^^1

Команда set назначает все, что следует знаку равенства (=) значению переменной. Поэтому при вводе set testVar=test^1вы получите следующий результат testVar=test1.

Чтобы задать значение TEST&1 для переменной testVarсреды, введите:

set testVar=test^&1

Чтобы задать переменную среды с именем INCLUDE , чтобы с ней связывали строку c:\directory , введите:

set include=c:\directory

Затем можно использовать строку c:\directory в пакетных файлах, заключив имя INCLUDE со знаками процента (%). Например, можно использовать dir %include% в пакетном файле для отображения содержимого каталога, связанного с переменной среды INCLUDE. После обработки этой команды строка c:\directory заменяет %include%.

Чтобы использовать команду set в пакетной программе для добавления нового каталога в переменную среды PATH , введите:

@echo off
rem ADDPATH.BAT adds a new directory
rem to the path environment variable.
set path=%1;%path%
set

Чтобы отобразить список всех переменных среды, начинающихся с буквы P, введите:

set p

Дополнительные ссылки