Переменная окружения. Что такое переменные среды


Переменная среды — WiKi

Основная статья: Переменная среды Unix

Переменные среды́ устанавливаются пользователем или сценариями оболочки. Начальный набор переменных задаётся стартовыми сценариями операционной системы и сценариями, запускаемыми при регистрации пользователя в системе, в частности, /etc/profile и ~/.bash_profile.

Среда имеет большое значение в UNIX-системах, так как хранит множество настроек как системы в целом, так и отдельных программ. Важной особенностью является то, что при создании дочерний процесс получает локальную копию среды́ родительского процесса, а, значит, не может изменить напрямую глобальные установки.

Среда представляет собой набор пар «имя переменной» и «значение переменной», реализация управления которыми возложена обычно на командный интерпретатор. Так как существует достаточно большое количество интерпретаторов, синтаксис отличается в зависимости от используемого пользователем. Как «имя», так и «значение» чувствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо.

В сценариях обычно используются объявления вида ИМЯ_ПЕРЕМЕННОЙ="значение переменной", но конкретный синтаксис зависит от используемого интерпретатора.

Для получения значения переменной необходимо перед её именем поставить символ доллара. Также иногда требуется заключить имя в скобки (например, в сценариях утилиты make).

Из командной строки управление переменными осуществляется с помощью export и env.

Переменные среды́ задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.

Классификация

Переменные среды́ Windows делятся на две категории:

Синтаксис

Обращение к некоторой переменной среды́ возможно таким образом: %ИМЯ_ПЕРЕМЕННОЙ%. Также возможно выделение из переменной её части (если на компьютере не отключены расширения командного процессора, по умолчанию они включены), например, печать различных частей переменной VAR с использованием командной строки Windows:

  • Вывод содержимого переменной — echo %VAR%.
  • Вывод первых четырёх символов — echo %VAR:~0,4%.
  • Вывод символов с третьего по шестой — echo %VAR:~2,4%
  • Вывод последних четырёх символов — echo %VAR:~-4%

Некоторые переменные среды́

Список переменных среды́ Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→"Свойства").

Имя Назначение Пример значения
%ALLUSERSPROFILE% Указывает путь до папки общих документов и настроек, общих для всех пользователей. C:\Documents And Settings\All Users
%APPDATA% Указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. C:\Documents And Settings\Администратор\Application Data
%CLIENTNAME% Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа. MyPC
%COMMONPROGRAMFILES% Указывает путь до папки, в которой хранятся общие для установленных программ файлы. C:\Program Files\Common Files
%COMPUTERNAME% Хранит имя компьютера в локальной сети. Начальник
%COMSPEC% Хранит путь до текущего командного интерпретатора Windows. C:\Windows\System32\cmd.exe
%HOMEDRIVE%, %SYSTEMDRIVE% Хранит имя системного диска. C:
%HOMEPATH%, %USERPROFILE% Хранит путь до домашней папки пользователя C:\Documents And Settings\Администратор
%WINDIR% Хранит путь до папки, в которую установлена Windows C:\Windows
%SYSTEMROOT% Хранит путь до системной папки (где хранится ядро и т. п.) C:\Windows
%PROGRAMFILES% Хранит путь до папки с установленными приложениями C:\Program Files
%SESSIONNAME% Хранит имя пользовательского сеанса. В локальном сеансе имеет значение Console, в среде удаленного подключения к рабочему столу протоколом TCP/IP имеет вид RDP-Tcp#<номер сеанса>. Console, RDP-Tcp#1

Список переменных

В современных ОС компании Microsoft на платформе NT для получения информации о системе используются следующие переменные (Полужирным выделен текст, относящийся только к Windows Vista/7):

Название Тип Описание
ALLUSERSPROFILE локальная Возвращает размещение профиля «All Users». В Windows 7 возвращает путь к папке C:\ProgramData\.
APPDATA системная Возвращает используемое по умолчанию размещение данных приложений. В Windows XP это C:\Documents and Settings\%UserName%\Application Data. В Windows 7 - C:\Users\%UserName%\AppData\Roaming.
CD локальная Указывает путь к текущему каталогу. Идентична команде CD без аргументов.
CLIENTNAME локальная динамическая Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа.
CMDCMDLINE локальная Точная команда, использованная для запуска текущего cmd.exe.
CMDEXTVERSION системная Версия текущего Command Processor Extensions.
COMMONPROGRAMFILES системная Расположение каталога "Common Files" (обычно %ProgramFiles%\Common Files).
COMMONPROGRAMFILES(x86) системная Расположение каталога "Common Files" в Program Files (x86) для 64-разрядной ОС (обычно %ProgramFiles(x86)%\Common Files).
COMPUTERNAME системная Имя компьютера
COMSPEC системная Путь к исполняемому файлу командного процессора (shell).
DATE системная Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создаётся командой Cmd.exe.
ERRORLEVEL системная Возвращает код ошибки последней использовавшейся команды. Значение, не равное нулю, обычно указывает на наличие ошибки.
HOMEDRIVE системная Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMEPATH системная Возвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMESHARE системная Возвращает сетевой путь к общему основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
LOCALAPPDATA системная Возвращает используемое по умолчанию локальное размещение данных приложений (C:\Users\%UserName%\AppData\Local).
LOGONSERVER локальная Имя контроллера домена, использовавшегося для авторизации текущего пользователя.
NUMBER_OF_PROCESSORS системная Количество процессоров в системе (фактически, количество ядер).
OS системная Название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT.
PATH системная Указывает путь поиска исполняемых файлов.
PATHEXT системная Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.
PROCESSOR_ARCHITECTURE системная Архитектура процессора. Возможные варианты: x86, IA64, AMD64.
PROCESSOR_IDENTIFIER системная Описание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER - пропущена буква).
PROCESSOR_LEVEL системная Номер модели процессора.
PROCESSOR_REVISION системная Ревизия процессора.
PROGRAMDATA системная Возвращает путь к каталогу C:\ProgramData\ (аналогично ALLUSERSPROFILE).
PROGRAMFILES системная Путь к каталогу Program Files.
PROGRAMFILES(x86) системная Путь к каталогу Program Files (x86) в 64-разрядных системах для приложений архитектуры x86.
PROMPT локальная Возвращает параметры командной строки для текущего интерпретатора. Создаётся командой Cmd.exe.
PUBLIC системная В Windows 7 возвращает путь к каталогу C:\Users\Public.
RANDOM системная Случайное десятичное число от 0 до 32767. Генерируется Cmd.exe.
SAFEBOOT_OPTION системная Существует только в Безопасном режиме. Принимает значение типа безопасного режима в котором работает система. В Безопасном режиме и Безопасном режиме с поддержкой командной строки принимает значение MINIMAL. В Безопасном режиме с поддержкой сетевых драйверов принимает значение Network.
SESSIONNAME локальная Хранит имя активного пользовательского сеанса. При локальном входе имеет значение "Console", при удаленном доступе имеет вид RDP-Tcp#<номер сеанса>
SYSTEMDRIVE системная Диск, на котором расположен корневой каталог Windows.
SYSTEMROOT системная Путь к корневому каталогу Windows.
TEMP и TMP системная и локальная Возвращает временные каталоги, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно совпадают.
TIME системная Возвращает текущее время. Использует тот же формат, что и команда time /t. Создаётся командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time.
USERDOMAIN локальная Имя домена, которому принадлежит текущий пользователь.
USERNAME локальная Имя текущего пользователя.
USERPROFILE локальная Путь к профилю текущего пользователя.
WINDIR системная Каталог, в котором установлена Windows.

Работа с переменными

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

echo %PROCESSOR_ARCHITECTURE%

Чтобы установить значение переменной:

SET TEMP=C:\TEMP

Кроме того, с переменными среды́ можно работать, нажав кнопку «Переменные среды́» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (контекстное меню значка «Мой компьютер» → пункт «Свойства»).

Также необходимо помнить, что, в отличие от UNIX-систем, в DOS и в стандартной командной строке Windows переменные среды́ не наследуются запускаемыми процессами, а используются совместно. Это позволяет, например, возвращать через них результаты работы программ, но, с другой стороны, создаёт возможность порчи или переполнения. Особенно актуально переполнение для переменной PATH, поскольку она часто дополняется при работе различных скриптов. При возникновении такого переполнения достаточно просто перезапустить интерпретатор командной строки. Интерпретаторы, портированные из UNIX-систем (например, Z-shell), такой проблеме не подвержены.

Получить значение переменной в программном коде можно с помощью метода ExpandEnvironmentStrings COM-объекта WScript.Shell:

WScriptShell = ObjCreate("WScript.Shell") UserName = WScriptShell.ExpandEnvironmentStrings("%USERNAME%")

Следует учитывать, что набор значений переменных среды́ получается процессом во время его запуска, все запускаемые им подчиненные процессы получают значения переменных из этого набора, если второй процесс (независимый от первого) изменяет значение переменной среды́ или создает новую переменную, эти изменения не будут доступны первому процессу.

Значения переменных среды́ LOGONSERVER, CLIENTNAME, SESSIONNAME, APPDATA, HOMEDRIVE, HOMEPATH устанавливаются при открытии сеанса на основании значений в ветке реестра [HKEY_CURRENT_USER\Volatile Environment].

Значения глобальных переменных среды́ типа PATH, TEMP и пр. хранятся в ветке реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment].

Трудности перевода

Очень часто встречается неправильное понимание слова «среды́» в словосочетании «Переменные среды́». Непонимание возникает из-за прочтения слова «среды» с неправильным ударением на первый слог, что приводит к распознаванию этого слова как формы именительного падежа множественного числа слова «среда» (окружение). Правильным является понимание слова «среды́» как формы родительного падежа единственного числа слова «среда» и произношение с ударением на второй слог.

Таким образом, неправильно говорить, например, «с переменными сре́дами» ("с переменными окружениями"), а правильно — «с переменными среды́» ("с переменными окружения").

ru-wiki.org

Переменные окружения - Википедия

Материал из Википедии — свободной энциклопедии

(перенаправлено с «»)Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 2 июня 2017; проверки требует 1 правка. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 2 июня 2017; проверки требует 1 правка.

Переменная среды́ (англ. environment variable) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.

Переменные среды UNIX[ | ]

Основная статья:

Переменные среды устанавливаются пользователем или сценариями оболочки. Начальный набор переменных задаётся стартовыми сценариями операционной системы и сценариями, запускаемыми при регистрации пользователя в системе, в частности, /etc/profile и ~/.bash_profile.

Среда имеет большое значение в UNIX-системах, так как хранит множество настроек как системы в целом, так и отдельных программ. Важной особенностью является то, что при создании дочерний процесс получает локальную копию среды родительского процесса, а, значит, не может изменить напрямую глобальные установки.

Среда представляет собой набор пар «имя переменной» и «значение переменной», реализация управления которыми возложена обычно на командный интерпретатор. Так как существует достаточно большое количество интерпретаторов, синтаксис отличается в зависимости от используемого пользователем. Как «имя», так и «значение» чувствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо.

В сценариях обычно используются объявления вида ИМЯ_ПЕРЕМЕННОЙ="значение переменной", но конкретный синтаксис зависит от используемого интерпретатора.

Для получения значения переменной необходимо перед её именем поставить символ доллара. Также иногда требуется заключить имя в скобки (например, в сценариях утилиты make).

Из командной строки управление переменными осуществляется с помощью export и env.

Переменные среды Windows[ | ]

Переменные среды задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.

Классификация[ | ]

Переменные среды Windows делятся на две категории:

Синтаксис[ | ]

Обращение к некоторой переменной среды возможно таким образом: %ИМЯ_ПЕРЕМЕННОЙ%. Также возможно выделение из переменной её части (если на компьютере не отключены расширения командного процессора, по умолчанию они включены), например, печать различных частей переменной VAR с использованием командной строки Windows:

  • Вывод содержимого переменной — echo %VAR%.
  • Вывод первых четырёх символов — echo %VAR:~0,4%.
  • Вывод символов с третьего по шестой — echo %VAR:~2,4%
  • Вывод последних четырёх символов — echo %VAR:~-4%

Некоторые переменные среды[ | ]

Список переменных среды Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→"Свойства").

Имя Назначение Пример значения
%ALLUSERSPROFILE% Указывает путь до папки общих документов и настроек, общих для всех пользователей. C:\Documents And Settings\All Users
%APPDATA% Указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. C:\Documents And Settings\Администратор\Application Data
%CLIENTNAME% Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа. MyPC
%COMMONPROGRAMFILES% Указывает путь до папки, в которой хранятся общие для установленных программ файлы. C:\Program Files\Common Files
%COMPUTERNAME% Хранит имя компьютера в локальной сети. Начальник
%COMSPEC% Хранит путь до текущего командного интерпретатора Windows. C:\Windows\System32\cmd.exe
%HOMEDRIVE%, %SYSTEMDRIVE% Хранит имя системного диска. C:
%HOMEPATH%, %USERPROFILE% Хранит путь до домашней папки пользователя C:\Documents And Settings\Администратор
%WINDIR% Хранит путь до папки, в которую установлена Windows C:\Windows
%SYSTEMROOT% Хранит путь до системной папки (где хранится ядро и т. п.) C:\Windows
%PROGRAMFILES% Хранит путь до папки с установленными приложениями C:\Program Files
%SESSIONNAME% Хранит имя пользовательского сеанса. В локальном сеансе имеет значение Console, в среде удаленного подключения к рабочему столу протоколом TCP/IP имеет вид RDP-Tcp#<номер сеанса>. Console, RDP-Tcp#1

Список переменных

encyclopaedia.bid

что это такое, и для чего они используются?

Компьютеры 6 декабря 2016

Большинство пользователей современных компьютерных систем понятия не имеет о том, что в Windows есть так называемые переменные среды. Что это такое, многие не понимают, хотя и сталкиваются с этим практически каждый день. Попробуем восполнить этот пробел, тем более что ничего сложного в определении этого термина нет.

Что такое переменные среды Windows?

Чтобы в полной мере осознать, что собой представляет этот инструмент системы, следует обозначить самое главное. Если говорить простым языком, это средство хранения временных файлов, которые могут появляться в системе при выполнении каких-то программ или при серфинге в интернете.

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

Считается, что переменные среды по умолчанию настроены таким образом, чтобы к ним не нужно было указывать абсолютного пути, поскольку каталоги являются скрытыми. Как правило, для временных файлов и папок используются директории TMP и TEMP. Именно они и выступают в роли переменных сред.

Многие, наверняка, знают, что та же папка TEMP имеется и в основной директории системы, и в локальных настройках пользовательских данных (каталог Local Settings). Как уже было сказано выше, эти объекты являются скрытыми, а для того чтобы их увидеть в «Проводнике» или в любом другом файловом менеджере, следует включать отображение таких объектов в меню вида.

Использование основного оператора

Однако делать это совершенно не обязательно, поскольку в любой системе Windows имеется специальный инструмент, позволяющий произвести поиск или осуществить переход к скрытым папкам.

Это – оператор, обозначаемый знаком процентов (%). Таким образом, чтобы найти искомый объект, нужно всего лишь в поисковом запросе отметить его этим символом в начале и в конце запроса. Например, для директории TEMP условие поиска выглядит как %TEMP%. При этом, если поиск производится на всех локальных дисках или в дисковых разделах, в результатах будут отображены все объекты, соответствующие введенному названию.

Видео по теме

Переменные среды 7-й версии Windows и выше: настройка параметров

Теперь несколько слов о настройках. Переменные среды Windows 10 или систем рангом ниже можно настроить, если использовать контекстное меню правого клика на значке компьютера с выбором свойств.

После этого осуществляется переход к дополнительным параметрам. В окне снизу имеется специальная кнопка с одноименным названием («Переменные среды»), при нажатии на которую пользователь и попадает в раздел настроек. В принципе, здесь можно ничего не менять без надобности.

Изменения или дополнительная настройка могут потребоваться только в том случае, если устанавливается какое-то специфичное программное обеспечение вроде пакета JAVA SDK, когда система автоматически установить требуемые параметры не в состоянии.

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

Возможные проблемы и методика их устранения

К сожалению, если переменные среды настроены неправильно или временные папки содержат слишком много объектов, могут возникать и сбои программного характера, например, невозможность установки обновлений ОС.

Что самое печальное, сама система не обладает инструментом автоматической очистки временных каталогов. Поэтому в лучшем случае следует применять программы-оптимизаторы. Если же таковые на компьютере не установлены, придется чистить папки вручную.

В известном смысле применение оптимизаторов выглядит более оправданным, поскольку попутно они чистят кэш веб-браузера и кэш недавно использовавшихся приложений. А некоторые способны даже выгружать системные процессы из оперативной памяти, что тоже немаловажно.

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

Заключение

Как видим, понятие переменных сред не такое уж и сложное, как многим могло бы показаться вначале. Самое главное – четко осознавать, для чего нужны каталоги временных файлов, как к ним осуществить доступ или даже просто найти на компьютере. Если же возникает проблема с ручной настройкой специализированных параметров, в общем-то, и тут ничего сложного нет, ведь придется всего лишь указать правильный путь, а сделать это можно при помощи кнопки обзора каталогов.

Ну и само собой разумеется, что систему необходимо поддерживать в чистоте и порядке, периодически вычищая скапливающийся компьютерный мусор. Как уже понятно, чтобы не заниматься этим вручную, лучше всего использовать специальные утилиты-оптимизаторы. Таким образом можно не только почистить систему, но и даже увеличить ее производительность.

Источник: fb.ru

Query failed: connection to localhost:9312 failed (errno=111, msg=Connection refused).

monateka.com

Переменная окружения Википедия

Переменная среды́ (англ. environment variable) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.

Переменные среды́ UNIX

Переменные среды́ устанавливаются пользователем или сценариями оболочки. Начальный набор переменных задаётся стартовыми сценариями операционной системы и сценариями, запускаемыми при регистрации пользователя в системе, в частности, /etc/profile и ~/.bash_profile.

Среда имеет большое значение в UNIX-системах, так как хранит множество настроек как системы в целом, так и отдельных программ. Важной особенностью является то, что при создании дочерний процесс получает локальную копию среды́ родительского процесса, а, значит, не может изменить напрямую глобальные установки.

Среда представляет собой набор пар «имя переменной» и «значение переменной», реализация управления которыми возложена обычно на командный интерпретатор. Так как существует достаточно большое количество интерпретаторов, синтаксис отличается в зависимости от используемого пользователем. Как «имя», так и «значение» чувствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо.

В сценариях обычно используются объявления вида ИМЯ_ПЕРЕМЕННОЙ="значение переменной", но конкретный синтаксис зависит от используемого интерпретатора.

Для получения значения переменной необходимо перед её именем поставить символ доллара. Также иногда требуется заключить имя в скобки (например, в сценариях утилиты make).

Из командной строки управление переменными осуществляется с помощью export и env.

Переменные среды́ Windows

Переменные среды́ задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.

Классификация

Переменные среды́ Windows делятся на две категории:

Синтаксис

Обращение к некоторой переменной среды́ возможно таким образом: %ИМЯ_ПЕРЕМЕННОЙ%. Также возможно выделение из переменной её части (если на компьютере не отключены расширения командного процессора, по умолчанию они включены), например, печать различных частей переменной VAR с использованием командной строки Windows:

  • Вывод содержимого переменной — echo %VAR%.
  • Вывод первых четырёх символов — echo %VAR:~0,4%.
  • Вывод символов с третьего по шестой — echo %VAR:~2,4%
  • Вывод последних четырёх символов — echo %VAR:~-4%

Некоторые переменные среды́

Список переменных среды́ Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→"Свойства").

Имя Назначение Пример значения
%ALLUSERSPROFILE% Указывает путь до папки общих документов и настроек, общих для всех пользователей. C:\Documents And Settings\All Users
%APPDATA% Указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. C:\Documents And Settings\Администратор\Application Data
%CLIENTNAME% Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа. MyPC
%COMMONPROGRAMFILES% Указывает путь до папки, в которой хранятся общие для установленных программ файлы. C:\Program Files\Common Files
%COMPUTERNAME% Хранит имя компьютера в локальной сети. Начальник
%COMSPEC% Хранит путь до текущего командного интерпретатора Windows. C:\Windows\System32\cmd.exe
%HOMEDRIVE%, %SYSTEMDRIVE% Хранит имя системного диска. C:
%HOMEPATH%, %USERPROFILE% Хранит путь до домашней папки пользователя C:\Documents And Settings\Администратор
%WINDIR% Хранит путь до папки, в которую установлена Windows C:\Windows
%SYSTEMROOT% Хранит путь до системной папки (где хранится ядро и т. п.) C:\Windows
%PROGRAMFILES% Хранит путь до папки с установленными приложениями C:\Program Files
%SESSIONNAME% Хранит имя пользовательского сеанса. В локальном сеансе имеет значение Console, в среде удаленного подключения к рабочему столу протоколом TCP/IP имеет вид RDP-Tcp#<номер сеанса>. Console, RDP-Tcp#1

Список переменных

В современных ОС компании Microsoft на платформе NT для получения информации о системе используются следующие переменные (Полужирным выделен текст, относящийся только к Windows Vista/7):

Название Тип Описание
ALLUSERSPROFILE локальная Возвращает размещение профиля «All Users». В Windows 7 возвращает путь к папке C:\ProgramData\.
APPDATA системная Возвращает используемое по умолчанию размещение данных приложений. В Windows XP это C:\Documents and Settings\%UserName%\Application Data. В Windows 7 - C:\Users\%UserName%\AppData\Roaming.
CD локальная Указывает путь к текущему каталогу. Идентична команде CD без аргументов.
CLIENTNAME локальная динамическая Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа.
CMDCMDLINE локальная Точная команда, использованная для запуска текущего cmd.exe.
CMDEXTVERSION системная Версия текущего Command Processor Extensions.
COMMONPROGRAMFILES системная Расположение каталога "Common Files" (обычно %ProgramFiles%\Common Files).
COMMONPROGRAMFILES(x86) системная Расположение каталога "Common Files" в Program Files (x86) для 64-разрядной ОС (обычно %ProgramFiles(x86)%\Common Files).
COMPUTERNAME системная Имя компьютера
COMSPEC системная Путь к исполняемому файлу командного процессора (shell).
DATE системная Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создаётся командой Cmd.exe.
ERRORLEVEL системная Возвращает код ошибки последней использовавшейся команды. Значение, не равное нулю, обычно указывает на наличие ошибки.
HOMEDRIVE системная Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMEPATH системная Возвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMESHARE системная Возвращает сетевой путь к общему основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
LOCALAPPDATA системная Возвращает используемое по умолчанию локальное размещение данных приложений (C:\Users\%UserName%\AppData\Local).
LOGONSERVER локальная Имя контроллера домена, использовавшегося для авторизации текущего пользователя.
NUMBER_OF_PROCESSORS системная Количество процессоров в системе (фактически, количество ядер).
OS системная Название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT.
PATH системная Указывает путь поиска исполняемых файлов.
PATHEXT системная Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.
PROCESSOR_ARCHITECTURE системная Архитектура процессора. Возможные варианты: x86, IA64, AMD64.
PROCESSOR_IDENTIFIER системная Описание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER - пропущена буква).
PROCESSOR_LEVEL системная Номер модели процессора.
PROCESSOR_REVISION системная Ревизия процессора.
PROGRAMDATA системная Возвращает путь к каталогу C:\ProgramData\ (аналогично ALLUSERSPROFILE).
PROGRAMFILES системная Путь к каталогу Program Files.
PROGRAMFILES(x86) системная Путь к каталогу Program Files (x86) в 64-разрядных системах для приложений архитектуры x86.
PROMPT локальная Возвращает параметры командной строки для текущего интерпретатора. Создаётся командой Cmd.exe.
PUBLIC системная В Windows 7 возвращает путь к каталогу C:\Users\Public.
RANDOM системная Случайное десятичное число от 0 до 32767. Генерируется Cmd.exe.
SAFEBOOT_OPTION системная Существует только в Безопасном режиме. Принимает значение типа безопасного режима в котором работает система. В Безопасном режиме и Безопасном режиме с поддержкой командной строки принимает значение MINIMAL. В Безопасном режиме с поддержкой сетевых драйверов принимает значение Network.
SESSIONNAME локальная Хранит имя активного пользовательского сеанса. При локальном входе имеет значение "Console", при удаленном доступе имеет вид RDP-Tcp#<номер сеанса>
SYSTEMDRIVE системная Диск, на котором расположен корневой каталог Windows.
SYSTEMROOT системная Путь к корневому каталогу Windows.
TEMP и TMP системная и локальная Возвращает временные каталоги, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно совпадают.
TIME системная Возвращает текущее время. Использует тот же формат, что и команда time /t. Создаётся командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time.
USERDOMAIN локальная Имя домена, которому принадлежит текущий пользователь.
USERNAME локальная Имя текущего пользователя.
USERPROFILE локальная Путь к профилю текущего пользователя.
WINDIR системная Каталог, в котором установлена Windows.

Работа с переменными

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

echo %PROCESSOR_ARCHITECTURE%

Чтобы установить значение переменной:

SET TEMP=C:\TEMP

Кроме того, с переменными среды́ можно работать, нажав кнопку «Переменные среды́» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (контекстное меню значка «Мой компьютер» → пункт «Свойства»).

Также необходимо помнить, что, в отличие от UNIX-систем, в DOS и в стандартной командной строке Windows переменные среды́ не наследуются запускаемыми процессами, а используются совместно. Это позволяет, например, возвращать через них результаты работы программ, но, с другой стороны, создаёт возможность порчи или переполнения. Особенно актуально переполнение для переменной PATH, поскольку она часто дополняется при работе различных скриптов. При возникновении такого переполнения достаточно просто перезапустить интерпретатор командной строки. Интерпретаторы, портированные из UNIX-систем (например, Z-shell), такой проблеме не подвержены.

Получить значение переменной в программном коде можно с помощью метода ExpandEnvironmentStrings COM-объекта WScript.Shell:

WScriptShell = ObjCreate("WScript.Shell") UserName = WScriptShell.ExpandEnvironmentStrings("%USERNAME%")

Следует учитывать, что набор значений переменных среды́ получается процессом во время его запуска, все запускаемые им подчиненные процессы получают значения переменных из этого набора, если второй процесс (независимый от первого) изменяет значение переменной среды́ или создает новую переменную, эти изменения не будут доступны первому процессу.

Значения переменных среды́ LOGONSERVER, CLIENTNAME, SESSIONNAME, APPDATA, HOMEDRIVE, HOMEPATH устанавливаются при открытии сеанса на основании значений в ветке реестра [HKEY_CURRENT_USER\Volatile Environment].

Значения глобальных переменных среды́ типа PATH, TEMP и пр. хранятся в ветке реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment].

Трудности перевода

Очень часто встречается неправильное понимание слова «среды́» в словосочетании «Переменные среды́». Непонимание возникает из-за прочтения слова «среды» с неправильным ударением на первый слог, что приводит к распознаванию этого слова как формы именительного падежа множественного числа слова «среда» (окружение). Правильным является понимание слова «среды́» как формы родительного падежа единственного числа слова «среда» и произношение с ударением на второй слог.

Таким образом, неправильно говорить, например, «с переменными сре́дами» ("с переменными окружениями"), а правильно — «с переменными среды́» ("с переменными окружения").

wikiredia.ru

Переменная окружения - это... Что такое Переменная окружения?

Переменные среды́ — текстовые переменные операционной системы, хранящие данные о ряде настроек системы.

Переменные среды в UNIX

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

Среда имеет большое значение в UNIX-системах, так как хранит множество настроек как системы в целом, так и отдельных программ. Важной особенностью является то, что при создании нового процесса он получает локальную копию среды, а значит не может изменить напрямую глобальные установки.

Среда представляет собой набор пар «имя переменной» и «значение переменной», реализация управления которыми возложена обычно на командный интерпретатор. Так-как существует достаточно большое количество интерпретаторов, синтаксис отличается в зависимости от используемого пользователем. Как «имя», так и «значение» чуствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо.

В сценариях обычно используются обьявления вида:

ИМЯ_ПЕРЕМЕННОЙ = "значение переменной"

Но конкретный синтаксис зависит от используемого интерпретатора.

Для обращения получения значения переменной необходимо перед её именем поставить символ доллара. Так же иногда требуется заключить имя в скобки (например в сценариях утилиты env.

Переменные среды в Windows

Переменные среды прописываются в реестре Windows. Они могут использоваться в командной строке и в адресной строке проводника.

Классификация

Переменные среды Windows делятся на две категории:

Синтаксис

При обращении к некоторой переменной среды используется следующий синтаксис:

%<имя переменной>%

Также возможно выделение из переменной ее части, например печать различных частей переменной VAR

Присваиваем значение переменной VAR

set VAR=1234ABCD

Печатаем все содержимое переменной VAR

echo %VAR%

Печатаем первые четыре символа переменной VAR

echo %VAR:~0,4%

Печатаем символы с третьего по шестой переменной VAR

echo %VAR:~2,4%

Печатаем последние четыре символа переменной VAR

echo %VAR:~-4%

Некоторые переменные среды

Список переменных сред Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (Мой компьютер->Свойства).

Имя Назначение Пример
%AllUsersProfile% Указывает путь до папки All Users, в которой хранятся общие для всех пользователей настройки рабочего стола и главного меню. C:\Documents And Settings\All Users
%AppData% Указывает путь до папки Application Data текущего пользователя, в которой хранятся настройки некоторых программ. C:\Documents And Settings\Администратор\Application Data
%CommonProgramFiles% Указывает путь до папки Common Files, в которой хранятся общие для установленных программ файлы. C:\Program Files\Common Files
%ComputerName% Хранит имя компьютера в сети. Vasya
%ComSpec% Хранит путь до командного процессора Windows. C:\Windows\System32\cmd.exe
%HomeDrive% , %SystemDrive% Хранит имя системного диска. C:
%HomePath% , %UserProfile% Хранит путь до домашней папки пользователя C:\Documents And Settings\Администратор
%WinDir% Хранит путь до папки WINDOWS C:\Windows
%SystemRoot% Хранит путь до системной папки (где хранится ядро и т. п.) C:\Windows\

Wikimedia Foundation. 2010.

ushakov.academic.ru

Переменные среды - Википедия

Материал из Википедии — свободной энциклопедии

(перенаправлено с «»)Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 2 июня 2017; проверки требует 1 правка. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 2 июня 2017; проверки требует 1 правка.

Переменная среды́ (англ. environment variable) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.

Переменные среды UNIX[ | ]

Основная статья:

Переменные среды устанавливаются пользователем или сценариями оболочки. Начальный набор переменных задаётся стартовыми сценариями операционной системы и сценариями, запускаемыми при регистрации пользователя в системе, в частности, /etc/profile и ~/.bash_profile.

Среда имеет большое значение в UNIX-системах, так как хранит множество настроек как системы в целом, так и отдельных программ. Важной особенностью является то, что при создании дочерний процесс получает локальную копию среды родительского процесса, а, значит, не может изменить напрямую глобальные установки.

Среда представляет собой набор пар «имя переменной» и «значение переменной», реализация управления которыми возложена обычно на командный интерпретатор. Так как существует достаточно большое количество интерпретаторов, синтаксис отличается в зависимости от используемого пользователем. Как «имя», так и «значение» чувствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо.

В сценариях обычно используются объявления вида ИМЯ_ПЕРЕМЕННОЙ="значение переменной", но конкретный синтаксис зависит от используемого интерпретатора.

Для получения значения переменной необходимо перед её именем поставить символ доллара. Также иногда требуется заключить имя в скобки (например, в сценариях утилиты make).

Из командной строки управление переменными осуществляется с помощью export и env.

Переменные среды Windows[ | ]

Переменные среды задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.

Классификация[ | ]

Переменные среды Windows делятся на две категории:

Синтаксис[ | ]

Обращение к некоторой переменной среды возможно таким образом: %ИМЯ_ПЕРЕМЕННОЙ%. Также возможно выделение из переменной её части (если на компьютере не отключены расширения командного процессора, по умолчанию они включены), например, печать различных частей переменной VAR с использованием командной строки Windows:

  • Вывод содержимого переменной — echo %VAR%.
  • Вывод первых четырёх символов — echo %VAR:~0,4%.
  • Вывод символов с третьего по шестой — echo %VAR:~2,4%
  • Вывод последних четырёх символов — echo %VAR:~-4%

Некоторые переменные среды[ | ]

Список переменных среды Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→"Свойства").

Имя Назначение Пример значения
%ALLUSERSPROFILE% Указывает путь до папки общих документов и настроек, общих для всех пользователей. C:\Documents And Settings\All Users
%APPDATA% Указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. C:\Documents And Settings\Администратор\Application Data
%CLIENTNAME% Переменная определена только в среде удаленного подк

encyclopaedia.bid

Переменные среды cmd.exe - это... Что такое Переменные среды cmd.exe?

В современных ОС компании NT для получения информации о системе используются следующие переменные:

Название Тип Описание

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

Кроме того, с переменными среды можно работать, нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (контекстное меню значка «Мой компьютер» → пункт «Свойства»).

Так же необходимо помнить, что в отличие от UNIX-систем, в DOS и стандартной командной строке Windows, переменные среды не наследуются запускаемыми процессами, а используются совместно. Это позволяет, например, возвращать через них результаты работы программ, но с другой стороны создаёт возможность порчи или переполнения. Особенно актуально переполнение для переменной PATH, потому как она часто дополняется при работе различных скриптов. При возникновении такого переполнения достаточно просто перезапустить интерпретатор командной строки. Интерпретаторы, портированные из UNIX-систем (например, Z-shell) такой проблеме не подвержены.

ALLUSERSPROFILE локальная Возвращает размещение профиля «All Users».
APPDATA системная Возвращает используемое по умолчанию размещение данных приложений.
CD локальная Указывает путь текущей папки. Идентична команде CD без аргументов.
CMDCMDLINE локальная точная команда использованная для запуска текущего cmd.exe.
CMDEXTVERSION системная версия текущего Command Processor Extensions.
CommonProgramFiles системная Расположение каталога "Common Files" (обычно %ProgramFiles%\Common Files)
COMPUTERNAME системная имя компьютера
COMSPEC системная путь до исполняемого файла shell
DATE системная Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создается командой Cmd.exe.
ERRORLEVEL системная Возвращает код ошибки последней использовавшейся команды. Значение, не равное нулю, обычно указывает на наличие ошибки.
HOMEDRIVE системная Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMEPATH системная Возвращает полный путь к основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMESHARE системная Возвращает сетевой путь к общему основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
LOGONSERVER локальная имя контроллера домена, использовавшегося для авторизации текущего пользователя
NUMBER_OF_PROCESSORS системная количество процессоров в системе
OS системная название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT.
PATH системная Указывает путь поиска для исполняемых файлов.
PATHEXT системная Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.
PROCESSOR_ARCHITECTURE системная архитектура процессора. Возможные варианты: x86, IA64.
PROCESSOR_IDENTIFIER системная описание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER - пропущена буква)
PROCESSOR_LEVEL системная номер модели процессора
PROCESSOR_REVISION системная ревизия процессора
PROGRAMFILES системная путь к папке Program Files
PROMPT локальная Возвращает параметры командной строки для текущего интерпретатора. Создается командой Cmd.exe.
RANDOM системная случайное десятичное число от 0 до 32767. Генерируется Cmd.exe
SESSIONNAME ? Значение по умолчанию "Console"
SYSTEMDRIVE системная диск на котором расположена корневая папка Windows
SYSTEMROOT системная путь к корневой папке Windows
TEMP or TMP системная и локальная Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно - совпадают.
TIME системная Возвращает текущее время. Использует тот же формат, что и команда time /t. Создается командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time.
USERDOMAIN локальная имя домена, которому принадлежит текущий пользователь
USERNAME локальная имя текущего пользователя
USERPROFILE локальная путь к профайлу текущего пользователя
WINDIR системная директория в которую установлена Windows

dic.academic.ru