Что значит set variable

Команда SET — работа с переменными среды Windows

&nbsp &nbsp Команда SET используется для просмотра и изменения переменных среды окружения в командной строке Windows. Переменные окружения — это переменные, принимаемые значения которых характеризуют среду, в которой выполняется текущая программа — пути системных файлов, сведения об аппаратных средствах, каталоги пользователя и т.п. Значения переменных среды формируются в процессе загрузки Windows, регистрации пользователя в системе, при выполнении отдельных процессов или с помощью команды SET . Для просмотра значения, принимаемого конкретной переменной можно воспользоваться командой :

SET переменная
SET PATH — отобразить значение переменной PATH
Для создания новой переменной, или изменения значения существующей, используется команда :

переменная — Имя переменной среды.
строка — Строка символов, присваиваемая указанной переменной.

SET MyName=Vasya — установить значение переменной MyName

SET path=C:\progs;%path% — изменить значение переменной PATH , добавив в начало строки C:\progs

Значение, принимаемое переменной , доступно для обработки в командных файлах, при использовании ее имени, заключенного в знаки процента — % . Например команда выдачи текста на дисплей ECHO в виде:

ECHO date — выведет на экран слово «date», а команда
ECHO %date% выведет на экран значение переменной date , т.е. текущую дату в формате операционной системы.

Команда SET без параметров используется для вывода текущих значений переменных среды.

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Usr\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=TEST7
ComSpec=C:\windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Usr
LOCALAPPDATA=C:\Users\Usr\AppData\Local
LOGONSERVER=\\TEST7
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\windows\system32;C:\windows;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS; .VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 3 Stepping 4, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0304
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\windows\system32\Windows PowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SystemDrive=C:
SystemRoot=C:\windows
TEMP=C:\Users\Usr\AppData \Local\Temp
TMP=C:\Users\Usr\AppData \Local\Temp
USERDOMAIN=test7
USERNAME=Usr
USERPROFILE=C:\Users\Usr
windir=C:\windows

Кроме переменных, отображаемых в списке, при вызове команды SET, существуют и другие, значения которых изменяется динамически:

%CD% — принимает значение текущего каталога.
%DATE% — принимает значение текущей даты.
%TIME% — принимает значение текущего времени.
%RANDOM% — значение случайного числа в диапазоне между 0 и 32767.
%ERRORLEVEL% — текущее значение ERRORLEVEL, специальной переменной, которая используется в качестве признака результата выполнения программы.
%CMDEXTVERSION% значение версии расширенной обработки команд CMD.EXE.
%CMDCMDLINE% — раскрывается в исходную командную строку, которая вызвала командный процессор .

Если при вызове команды SET указать только часть имени, то будет выведен список переменных, имена которых начинаются с указанной строки. Например:

SET U — выведет значения всех переменных, имена которых начинаются с ‘U’.

Команда SET поддерживает два дополнительных ключа:

SET /A выражение

SET /P variable=[promptString]

Ключ /A указывает, что строка справа от знака равенства является числовым выражением, значение которого вычисляется. Обработчик выражений очень прост и поддерживает следующие операции, перечисленные в порядке убывания приоритета:

()
* / %
+ —
>
&
^
|
=
,
— группировка
— арифметические операторы
— арифметические операторы
— двоичный сдвиг
— двоичное И
— двоичное исключающее ИЛИ
— двоичное ИЛИ
— присвоение
— разделитель операторов

При использовании любых логических или двоичных операторов необходимо заключить строку выражения в кавычки. Любые нечисловые строки в выражении рассматриваются как имена переменных среды, значения которых преобразуются в числовой вид перед использованием. Если переменная с указанным именем не определена в системе, вместо нее подставляется нулевое значение. Это позволяет выполнять арифметические операции со значениями переменных среды, причем не нужно вводить знаки % для получения значений. Если команда SET /A вызывается из командной строки, а не из пакетного файла, она выводит окончательное значение выражения. Слева от любого оператора присваивания должно стоять имя переменной среды. Числовые значения рассматриваются как десятичные, если перед ними не стоит префикс:

0x — для шестнадцатеричных чисел
0 — для восьмеричных чисел.

Пример использования префиксов:

SET /A REZ=0xA+012
ECHO %REZ%

В данном командном файле значение переменной REZ вычисляется сложением числа 10, представленного в шестнадцатеричном виде ( 0xA ) и числа 10 , представленного в восьмеричном ( 012 ).

Ключ /P позволяет установить значение переменной для входной строки, введенной пользователем. Показывает указанное приглашение promptString перед чтением введенной строки. Приглашение promptString может быть пустым. Данный ключ позволяет организовать диалог с пользователем в командном файле:

@ECHO OFF
SET /P NAME=Введите имя пользователя:
SET /P pass=Введите пароль:
ECHO Имя пользователя — %NAME% , Пароль — %PASS%

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

переменная:строка1=строка2 — заменяет в принимаемом значении переменной строку1 на строку2

Следующий командный файл использует замену символа «точка» на символ «тире» в значении переменной, соответствующем текущей дате:

@ECHO OFF
set tm=%DATE%
ECHO Дата1 = %tm%
SET tm=%DATE:.=-%
ECHO Дата2 = %tm%

Для выделения части значения, принимаемого переменной, используется следующая конструкция:

x,y — где x — число пропускаемых символов от начала строки, а y — количество символов, используемых в качестве значения переменной.

Следующий пример использует отображение текущего времени без секунд и долей секунд (только первые 5 символов из стандартного значения переменной TIME):

@ECHO OFF
set tm=%TIME%
ECHO Время1 = %tm%
SET tm=%TIME:

0,5%
ECHO Время2 = %tm%

Если значение y ( длина ) не указана, то используется оставшееся до конца строки значение переменной. Если значение y отрицательно, то используется часть строки значения переменной от конца. Предыдущий пример можно изменить , указав, что в принимаемом значении времени отбрасываются 6 символов от конца:

@ECHO OFF
set tm=%TIME%
ECHO Время1 = %tm%
SET tm=%TIME:

Возможно использование число пропусков не задано, и используется отрицательное число, то принимаемое значение будет частью переменной от конца строки:

-10% — извлечет последние 10 символов переменной PATH

. Нулевое значение можно не указывать, сохраняя формат подстановки:

0,-2% эквивалентно %PATH:

При использовании переменных окружения в командных файлах существует определенное ограничение, связанное с тем фактом, что присваиваемое значение остается без изменения при его модификации внутри группы команд, задаваемой скобками, например в командах IF или FOR . Для обхода данного ограничения используется запуск командного процессора с параметром /V:ON и вместо знаков процента, для получения принимаемого переменной значения, используются восклицательные знаки. Кроме того, существует возможность использовать стандартный запуск командного процессора, но с локальным включением данного режима командой :

Разница в результатах использования значений переменных довольно наглядно демонстрируется следующим командным файлом:

Setlocal EnableDelayedExpansion
@ECHO OFF
set VAR=before
if «%VAR%» == «before» (
set VAR=after
if «!VAR!» == «after» @echo Со знаком процента=%VAR% , Со знаком вопроса=!VAR!
)

Команда set VAR=after выполняется внутри подпрограммы, ограниченной скобками и, если убрать команду Setlocal EnableDelayedExpansion или не использовать для получения значения переменной VAR восклицательные знаки, ее значение останется старым ( тем, что было установлено до входа в подпрограмму ). Аналогичная же проблема наблюдается и тогда, когда значение переменной изменяется внутри цикла команды FOR . Например, для получения списка файлов текущего каталога такой командный файл не будет работать:

set LIST=
for %%i in (*) do set LIST=%LIST% %%i
echo %LIST%

Значение переменной LIST внутри цикла изменено не будет. Для того, чтобы это произошло, командный файл нужно изменить следующим образом:

Setlocal EnableDelayedExpansion
set LIST=
for %%i in (*) do set LIST=!LIST! %%i
echo %LIST%

Теперь, значение переменной LIST внутри цикла FOR будет изменяться, последовательно принимая значения имен файлов, разделенных пробелом ( set LIST=!LIST! %%i )

Источник

set variable

Англо-русский словарь по вычислительной технике и информационным технологиям — 4-е изд. . Сергей Орлов .

Смотреть что такое «set variable» в других словарях:

Variable de entorno — Este artículo o sección necesita una revisión de ortografía y gramática. Puedes colaborar editándolo (lee aquí sugerencias para mejorar tu ortografía). Cuando se haya corregido, borra este aviso por favor. Las variables de entorno forman un… … Wikipedia Español

Set (commande) — Pour les articles homonymes, voir set. Set est le nom d une commande sous Windows et sous Unix (y compris Linux) qui affiche les variables d’environnement. Commande set sur Windows La commande set sans aucun paramètre permet de lister les… … Wikipédia en Français

Set splitting — is a logical NP Complete problem which is defined as follows. Instance : A finite set S and a collection C of finite subsets of S ;:: Query : Can the elements of S be colored with two colors, say red and green, so that no set X ∈ C has all… … Wikipedia

Variable gauge axles — (VGA) are axles that allow railway vehicles to pass from tracks of one rail gauge to a different gauge. Variable gauge axles are used to allow the running of trains between Spain and France, Europe and Russia, Kazakhstan and China, and Mongolia… … Wikipedia

Variable universal life insurance — (often shortened to VUL) is a type of life insurance that builds a cash value. In a VUL, the cash value can be invested in a wide variety of separate accounts, similar to mutual funds, and the choice of which of the available separate accounts to … Wikipedia

Variable displacement — is an automobile engine technology that allows the engine displacement to change, usually by deactivating cylinders, for improved fuel economy. The technology is primarily used in large, multi cylinder engines. Many automobile manufacturers have… … Wikipedia

Variable data printing — (VDP) (also known as variable information printing (VIP) or VI) is a form of on demand printing in which elements such as text, graphics and images may be changed from one printed piece to the next, without stopping or slowing down the printing… … Wikipedia

Variable geometry turbocharger — Variable geometry turbochargers (VGTs) are a family of turbochargers, usually designed to allow the effective aspect ratio (sometimes called A/R Ratio) of the turbo to be altered as conditions change. This is done because optimum aspect ratio at… … Wikipedia

Variable bitrate — (VBR) is a term used in telecommunications and computing that relates to the bitrate used in sound or video encoding. As opposed to constant bitrate (CBR), VBR files vary the amount of output data per time segment. VBR allows a higher bitrate… … Wikipedia

Variable-order Markov model — Variable order Markov (VOM) models are an important class of models that extend the well known Markov chain models. In contrast to the Markov chain models, where each random variable in a sequence with a Markov property depends on a fixed number… … Wikipedia

Variable compression ratio — is the technology to adjust internal combustion engine cylinder compression ratios on the fly. This is done to increase fuel efficiency while under varying loads. Higher loads require lower ratios to be more efficient and vice versa. Variable… … Wikipedia

Источник

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

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

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

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

Синтаксис

Параметры

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

Комментарии

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

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

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

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

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

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

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

Оператор Выполненная операция
( ) Группирование
!

Унарный
* / % Арифметические
+ — Арифметические
> Логическая смена
& Побитовое И
^ Побитовое исключающее ИЛИ
= *= /= %= += -= &= ^= = >=
, Разделитель выражений

Если используются операторы логического ( && или || ) или модуля ( % ), заключите строку выражения в кавычки. Все нечисловые строки в выражении считаются именами переменных среды, и их значения преобразуются в числа до их обработки. Если указать имя переменной среды, которое не определено в текущей среде, то выделяется нулевое значение, что позволяет выполнять арифметические операции со значениями переменных среды без использования% для получения значения.

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

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

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

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

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

Примеры

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

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

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

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

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

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

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

Источник

Читайте также:  А1920 iphone xs что значит
Оцените статью