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

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

Примечание

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

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

Синтаксис

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

Параметры

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

Комментарии

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

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

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

  • Если вы используете команду Set без параметров, отображаются текущие параметры среды. Эти параметры обычно включают переменные среды ComSpec и path , которые используются для поиска программ на диске. в Windows используются две другие переменные среды: PROMPT и DIRCMD.

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

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

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

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

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

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

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

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

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

Примеры

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

set testVar=test^^1

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

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

set testVar=test^&1

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

set include=c:\directory

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

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