Переменные среды Windows. Переменные среды в windows 8
Как установить значения переменных окружения в Windows 8
Постановка задачи
Однажды на работе возникла ситуация: на новенький ноутбук с модной Windows 8.1 понадобилось установить программу, выпущенную в 2001 году (зачем — это отдельный вопрос, сказка не о том). Разумеется, эта программа ничего «не знает» о модели безопасности UAC, которая появилась в Windows Vista, поэтому устанавливать её в стандартную папку Program Files можно только из-под учётной записи администратора. Но это, в общем, ерунда. Кроме того, первый запуск тоже нужно производить из-под той же учётной записи (программа перезаписывает некоторые свои файлы при первом запуске). И это мы тоже уже знаем: мы эту программу уже устанавливали много раз и под Windows XP, и под Vista, и под Windows 7.
А не ерунда — это то, что корректно установленная программа наотрез отказывалась запускаться из-под «обычной» учётной записи. Не помогали ни установка в другую папку, ни шаманские пляски с правами доступа к этой папке. Экспериментальным путём удалось выяснить, что программа активно использует переменную окружения PATH, значение которой должно было быть установлено программой-инсталлятором, но почему-то не установилось (предположение, почему так вышло — ниже). Для «той эпохи» это было нормально.
А дальше начинается самое интересное. Попытка установить переменную окружения штатными средствами (через диалог «Свойства системы») провалилась. Переменная благополучно меняет своё значение, но программой оно не читается (вероятно, потому же, почему не сработал и нижеследующий приём). Команда SET PATH=%PATH%;<new path>, до боли знакомая каждому, чьи лучшие годы жизни прошли под сенью чёрно-белой строки MS-DOS, не работает. Вернее, она работает, но программа «видит» новое значение только если её сразу же запустить из той же командной строки, а при закрытии командного процессора значение опять восстанавливается.Решение
Спасением стала случайно (при поиске вовсе по другой теме) найденная команда SETX (https://technet.microsoft.com/en-us/library/cc755104.aspx), которая работает, помимо Windows 8, ещё в Windows Vista и серверных Windows 2008 и 2012. Windows 7 в списке совместимости почему-то не упомянута, но там и SET работает нормально. Только что вышедшая Windows 10 тоже не упомянута (надеюсь, это значит, что на сайте всего лишь не успели обновить информацию, а не то, что после обновления операционной системы нам опять придётся мучиться). Команда предназначена для работы с реестром через командную строку, но одной из её «побочных» функций является установка переменных окружения.Синтаксис команды такой: SETX PATH %PATH%;<new path>
Если путь к папке <new path> содержит пробелы, то обычно в командной строке такой путь заключают в двойные кавычки. Здесь это правило работает несколько иначе: кавычки ставят вокруг всей конструкции, включая %PATH%:
SETX PATH "%PATH%;C:\Program Files\AncientApp"
Специально для тех, кто раньше пользовался командой SET, важно отметить, что синтаксис команды SETX отличается отсутствием знака равенства после имени переменной.
mik-demidov.blogspot.com
APPDATA | То же, что CSIDL_APPDATA. | |
CSIDL_ADMINTOOLS | Каталог файловой системы, содержащий средства администрирования для отдельного пользователя. Консоль управления (MMC) сохраняет в этот каталог пользовательские консоли. Каталог перемещается вместе с профилем пользователя. | |
CSIDL_ALTSTARTUP | Каталог файловой системы, соответствующий нелокализованной группе автоматически загружаемых программ пользователя. | |
CSIDL_APPDATA | Каталог файловой системы, служащий общим репозиторием для данных конкретных приложений. Стандартный путь – C:\Documents and Settings\username\Application Data или C:\Users\username\AppData\Roaming. | |
CSIDL_BITBUCKET | Виртуальная папка, содержащая объекты в корзине пользователя. | |
CSIDL_CDBURN_AREA | Каталог файловой системы, являющийся областью промежуточного хранения для файлов, ожидающих записи на компакт-диск. Стандартный путь в Windows XP – C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\CD Burning. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\username\AppData\Local\Microsoft\Windows\MasteredBurning\Disc Burning. | |
CSIDL_CONNECTIONS | Виртуальная папка сетевых подключений, содержащая сетевые и коммутируемые подключения. | |
CSIDL_CONTACTS | На компьютерах, на которых установлена Windows Vista, Windows 7 или Windows 8, указывает на папку Contacts в %CSIDL_PROFILE%. | |
CSIDL_CONTROLS | Виртуальная папка, содержащая значки для элементов панели управления. | |
CSIDL_COOKIES | Каталог файловой системы, служащий общим репозиторием для файлов cookie Интернета. Стандартный путь в Windows XP – C:\Documents and Settings\username\Cookies. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\username\AppData\Roaming\Microsoft\Windows\Cookies. | |
CSIDL_DESKTOP | Виртуальная папка, представляющая рабочий стол Windows. | |
CSIDL_DESKTOPDIRECTORY | Каталог файловой системы для физического хранения объектов рабочего стола, который необходимо отличать от самой папки рабочего стола. Стандартный путь в Windows XP – C:\Documents and Settings\username\Desktop. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\username\Desktop. | |
CSIDL_DRIVES | Виртуальная папка, представляющая папку "Мой компьютер". В ней хранится все, что есть на локальном компьютере: запоминающие устройства, принтеры и панель управления. Папка также может содержать подключенные сетевые диски. | |
CSIDL_FAVORITES | Каталог файловой системы, служащий общим репозиторием избранного для пользователя. Стандартный путь в Windows XP – C:\Documents and Settings\username\Favorites. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\Favorites. | |
CSIDL_HISTORY | Каталог файловой системы, служащий общим репозиторием для элементов журнала Интернета. | |
CSIDL_INTERNET | Виртуальная папка для Internet Explorer. | |
CSIDL_INTERNET_CACHE | Каталог файловой системы, служащий общим репозиторием для временных файлов Интернета. Стандартный путь в Windows XP – C:\Documents and Settings\username\Local Settings\Temporary Internet Files. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\username\AppData\Local\Microsoft\Windows\Temporary Internet Files | |
CSIDL_LOCAL_APPDATA | Каталог файловой системы, служащий репозиторием данных для локальных, неперемещаемых приложений. Стандартный путь в Windows XP – C:\Documents and Settings\username\Local Settings\Application Data. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\username\AppData\Local. | |
CSIDL_MYDOCUMENTS | Виртуальная папка, представляющая папку "Мои документы". Стандартный путь в Windows XP – C:\Documents and Settings\User\My Documents. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\Documents. | |
CSIDL_MYMUSIC | Каталог файловой системы, служащий общим репозиторием для звуковых файлов. Стандартный путь в Windows XP – C:\Documents and Settings\User\My Documents\My Music. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\Music. | |
CSIDL_MYPICTURES | Каталог файловой системы, служащий общим репозиторием для файлов изображений. Стандартный путь в Windows XP – C:\Documents and Settings\username\My Documents\My Pictures. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\Pictures. | |
CSIDL_MYVIDEO | Каталог файловой системы, служащий общим репозиторием для видеофайлов. Стандартный путь в Windows XP – C:\Documents and Settings\username\My Documents\My Videos. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\Videos. | |
CSIDL_NETHOOD | Каталог файловой системы, содержащий объекты связи, которые могут быть в виртуальной папке "Сетевое окружение". Этот параметр не равен параметру CSIDL_NETWORK, который представляет корень пространства имен сети. Стандартный путь – C:\Documents and Settings\username\NetHood. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\AppData\Roaming\Microsoft\Windows\Network Shortcuts. | |
CSIDL_NETWORK | Виртуальная папка, представляющая "Сетевое окружение", – корень иерархии пространства имен сети. | |
CSIDL_PERSONAL | В Windows Vista, Windows 7 или Windows 8 – виртуальная папка, представляющая элемент рабочего стола "Мои документы". То же самое, что и CSIDL_MYDOCUMENTS. В Windows XP – каталог файловой системы, используемый для физического хранения общего репозитория документов пользователя. Стандартный путь – C:\Documents and Settings\username\My Documents. | |
CSIDL_PLAYLISTS | На компьютерах, где установлена Windows Vista, Windows 7 или Windows 8, – виртуальная папка для хранения альбомов для прослушивания. Обычно это C:\Users\username\My Music\Playlists. | |
CSIDL_PRINTERS | Виртуальная папка, содержащая установленные принтеры. | |
CSIDL_PRINTHOOD | Каталог файловой системы, содержащий объекты связи, которые могут отображаться в виртуальной папке "Принтеры". Стандартный путь в Windows XP – C:\Documents and Settings\username\PrintHood. Стандартный путь в Windows Vista, Windows 7или Windows 8 – C:\Users\username\AppData\Roaming\Microsoft\Windows\Printer Shortcuts. | |
CSIDL_PROFILE | Папка профиля пользователя. Стандартный путь в Windows XP – C:\Documents and Settings\username. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username. | |
CSIDL_PROGRAMS | Каталог файловой системы, содержащий группы программ пользователя, которые сами являются каталогами файловой системы. Стандартный путь в Windows XP – C:\Documents and Settings\username\Start Menu\Programs. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs. | |
CSIDL_RECENT | Каталог файловой системы, содержащий ярлыки к недавно использовавшимся документам пользователя. Стандартный путь в Windows XP – C:\Documents and Settings\username\My Recent Documents. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\AppData\Roaming\Microsoft\Windows\Recent. | |
CSIDL_SENDTO | Каталог файловой системы, содержащий элементы меню Отправить. Стандартный путь в Windows XP – C:\Documents and Settings\username\SendTo. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\username\AppData\Roaming\Microsoft\Windows\SendTo. | |
CSIDL_STARTMENU | Каталог файловой системы, содержащий элементы меню Пуск. Стандартный путь в Windows XP – C:\Documents and Settings\username\Start Menu. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu. | |
CSIDL_STARTUP | Каталог файловой системы, который относится к группе программ пользователя "Автозагрузка". Стандартный путь в Windows XP – C:\Documents and Settings\username\Start Menu\Programs\Startup. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. | |
CSIDL_TEMPLATES | Каталог файловой системы, служащий общим репозиторием для шаблонов документов. Стандартный путь в Windows XP – C:\Documents and Settings\username\Templates. Стандартный путь в Windows Vista, Windows 7 или Windows 8 – C:\Users\username\AppData\Roaming\Microsoft\Windows\Templates. | |
HOMEPATH | То же, что и стандартная переменная среды. | |
TEMP | Временная папка компьютера. Для Windows XP стандартный путь – %USERPROFILE%\Local Settings\Temp. Для Windows Vista, Windows 7 или Windows 8 стандартный путь – %USERPROFILE%\AppData\Local\Temp. | |
TMP | Временная папка компьютера. Для Windows XP стандартный путь – %USERPROFILE%\Local Settings\Temp. Для Windows Vista, Windows 7 или Windows 8 стандартный путь – %USERPROFILE%\AppData\Local\Temp. | |
USERPROFILE | То же, что CSIDL_APPDATA. | |
USERSID | Представляет текущий идентификатор безопасности (SID) учетной записи пользователя. Пример: S-1-5-21-1714567821-1326601894-715345443-1026. |
msdn.microsoft.com
Персональный сайт - переменные среды
Материал из Википедии — свободной энциклопедии
Переменная окружения (переменная среды́, англ. environment variable) в Windows используются для хранения текстовых строк пользователя и информации о настройках операционных систем.
В современных ОС компании 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. |
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].
Часто встречается неправильное понимание слова «среды» в словосочетании «Переменные среды». Непонимание возникает из-за прочтения слова «среды» с неправильным ударением на первый слог, что приводит к распознаванию этого слова как формы именительного падежа множественного числа слова «среда» (окружение). Правильным является понимание слова «среды» как формы родительного падежа единственного числа слова «среда» и произношение с ударением на второй слог.
Таким образом, неправильно говорить, например, «с переменными сре́дами» ("с переменными окружениями"), а правильно — «с переменными среды́» ("с переменными окружения").
источник википедияt100.ucoz.com
Переменные среды Windows - это... Что такое Переменные среды Windows?
Переменные окружения (переменные среды́, англ. environment variable) используются для настройки многих операционных систем.
Список переменных
В современных ОС компании 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 без аргументов. |
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. |
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. |
Работа с переменными
Чтобы получить доступ к значению переменной, необходимо поставить знак % перед её названием и после него, например:
echo %PROCESSOR_ARCHITECTURE%Чтобы установить значение переменной:
SET TEMP=C:\TEMPКроме того, с переменными среды можно работать, нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (контекстное меню значка «Мой компьютер» → пункт «Свойства»).
Также необходимо помнить, что, в отличие от UNIX-систем, в DOS и в стандартной командной строке Windows переменные среды не наследуются запускаемыми процессами, а используются совместно. Это позволяет, например, возвращать через них результаты работы программ, но, с другой стороны, создаёт возможность порчи или переполнения. Особенно актуально переполнение для переменной PATH, поскольку она часто дополняется при работе различных скриптов. При возникновении такого переполнения достаточно просто перезапустить интерпретатор командной строки. Интерпретаторы, портированные из UNIX-систем (например, Z-shell), такой проблеме не подвержены.
Трудности перевода
Часто встречается неправильное понимание слова «среды» в словосочетании «Переменные среды». Непонимание возникает из-за прочтения слова «среды» с неправильным ударением на первый слог, что приводит к распознаванию этого слова как формы именительного падежа множественного числа слова «среда» (окружение). Правильным является понимание слова «среды» как формы родительного падежа единственного числа слова «среда» и произношение с ударением на второй слог.
Таким образом, неправильно говорить, например, «с переменными сре́дами», и правильно — «с переменными среды́».
3dic.academic.ru