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 в пакетных файлах, заключив имясо знаками процента (%). Например, можно использовать dir %include% в пакетном файле для отображения содержимого каталога, связанного с переменной среды включения . После обработки этой команды строка c:\directory заменяет %include%.

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

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

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

set p

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

set