Переменные среды Windows. Переменные среды в windows 8


Как установить значения переменных окружения в 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, не работает. Вернее, она работает, но программа «видит» новое значение только если её сразу же запустить из той же командной строки, а при закрытии командного процессора значение опять восстанавливается.

В общем, вывод у нас получился такой: в Windows 8 команда SET создаёт некую временную копию набора переменных окружения, которая доступна только данному процессу.

Решение

Спасением стала случайно (при поиске вовсе по другой теме) найденная команда 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

Распознаваемые переменные среды

Эти переменные можно использовать в XML-файлах в разделах с context=User и context=UserAndSystem.

Переменная Объяснение

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