Начало ▶ Информация ▶ Обработка ▶ Компьютер ▶ Программа ▶ ОС ▶ „Windows” ▶
Переменная среды
www.pavelkalinin.narod.ru/ru1/t8af2.htm  [2019`08`11]
Перемен­ную среды также называют переменной окружения.
Переменные среды позволяют избавиться от исполь­зования абсолютных путей к файлу. Вместо этого используем гибкое задавание пути, состоящего из значения переменной среды (начальной части пути) и из остальной части пути, неизменной для любой операци­онной системы.
Переменные среды хранятся в кодировке UTF‑16 (полный уникод) в разделе системного реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\”.
См. также:
HKEY_CURRENT_USER\Volatile Environment\”.
В нижеследующем списке своим цветом выделены:
• переменная от Майкрософт, оставляемая без изменений;
• переменная от Майкрософт, которую желательно подредактировать;
• переменная, создаваемая Паэлом.
Про­чи­тать Имя Значение Уста­но­вить Примечание
Системный носитель  Системный том „Sys” [Файловая система „NTFS”]
  SystemDrive C:    
Чит. VolSys C:\ Уст. Для ссылок на папки в FAr'е
 
  SystemRoot C:\WINDOWS    
Чит. windir %SystemRoot%    
WinDir C:\Windows Уст.
Чит. Sys32 C:\Windows\System32 Уст.  
  ComSpec C:\WINDOWS\system32\cmd.exe    
C:\Windows\System32\Cmd.exe  
 
  ProgramFiles C:\Program Files    
  ProgramFiles(x86) C:\Program Files (x86)    
Чит. ProgF C:\Program Files Уст. Сокращение длины имени переменной
Чит. Prog C:\Prog Уст. Имя папки без пробелов и короткое
  CommonProgramFiles C:\Program Files\Common Files    
Чит. ComnF C:\Program Files\Common Files Уст. Сокращение длины имени переменной
Чит. NSW C:\Program Files\Norton SystemWorks Уст. Независимость от адреса приложения
Чит. MSO C:\Program Files\Microsoft Office\Office10 Уст. Независимость от адреса приложения
Чит. IE C:\Program Files\Internet Explorer Уст. Сокращение пути
  Opera C:\Program Files\Opera   Независимость от адреса приложения
  MSSQL2k C:\Program Files\SQL2k\MSSQL    
  pdf-Read_exe C:\Prog\Adobe--Reader\Reader\AcroRd32.exe    
 
  Path %SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\WBEM   Возможно переменные в пути чуть замедляют доступ.
C:\Windows\System32;C:\Windows;C:\Windows\System32\WBEM  
Чит. TEMP C:\WINDOWS\Temp    
Temp Z:\SysT25aC\T-Sys Уст.
Чит. TMP C:\WINDOWS\Temp    
Tmp Z:\SysT25aC\T-Sys Уст.
Чит. TEMP C:\Documents and Settings\<Плз>\Local Settings\Temp    
Temp Z:\SysT25aC\T-<Плз> Уст.
Чит. TMP C:\Documents and Settings\<Плз>\Local Settings\Temp    
Tmp Z:\SysT25aC\T-<Плз> Уст.
 
  UserName <Плз>    
  HomeDrive C:    
  HomePath   \Documents and Settings\<Плз>    
  UserProfile C:\Documents and Settings\<Плз>    
  AllUsersProfile C:\Documents and Settings\All Users    
  AppData C:\Documents and Settings\<Плз>\Application Data    
  Menu C:\Documents and Settings\All Users\Главное меню    
Системный носитель  Том „FAT” [Файловая система „FAT32”]
  VolFAT D:\   Для ссылок на папки в FAr'е. Не нужно [2013`05`30].
Чит. ProgFAT D:\Prog- Уст. Не нужно [2013`05`30].
Чит. DistrInst D:\DstrInst Уст.  
Системный носитель  Том „Fast”  Системное объёмное [Файловая система „NTFS”]
  ProgBig R:\PrgT50aE    
Несистемный носитель  Том „Fast”  Системное объёмное [Файловая система „NTFS”]
  ProgSpd T:\PrgT50aE    
Чит. Game T:\GamT50aE Уст.  
Носитель с основной системой  Том „Fast” [Файловая система „NTFS”]
Чит. VolComn R:\ Уст.  
Чит. ProgComn R:\Prog- Уст.  
Чит. ProgComnSys C:\Prog- Уст.  
Чит. Bat R:\Prog-\Bat Уст.  
Чит. GameComn R:\Game- Уст.  
  AntiVir~BD R:\BD~Out\AntiVir\DrWeb   Не нужно [2013`05`30].
Вне носителя с основной системой  Том „Fast” [Файловая система „NTFS”]
  BD T:\BD    
На носителе Обмена  Том „Fast” [Файловая система „NTFS”. На этом же носителе располагается файл подкачки. Это носитель № 3, а если такового нет, то — № 1.]
Чит. VolExch R:\ Уст.  
  EMule R:\__Обмен~EMule~{ИС}    
Чит. SitePael T:\__YaDPa\_\S Уст.  
Любой носитель  Том „Slow” [Файловая система „NTFS”.]
Чит. Doc S:\_ Док Уст.  
Чит. Distr S:\Distr~{ИС} Уст.  
Чит. Backup S:\Backup Уст.  
Переносной том: на лазерном диске, на эмуляторе лазерного диска
  VolDLE V:\   „E” — от „emulator” [Англ.].
  VolDL W:\    
Сетевое
  Doc1 S:\_ Док    
  Doc2 M:\_ Док    
  Backup1 S:\Backup    
  Backup2 K:\Backup    
  Backup3 M:\Backup    
  Backup4 O:\Backup    
  Backup5 Q:\Backup    
Слэш (solidus, косая линия) на конце значения переменной среды
При написании имени папки, на мой взгляд, всегда следует использовать слэш на конце. Тогда, пользуясь только написанием имени файлового объекта, можно определить, что например „F:\Имя.txt\” — это папка, а „F:\Имя” — файл. Кроме того такой подход подчёркивает контейнерную суть папки. То есть если имя объекта оканчивается на слэш, значит, возможно продолжение пути к файлу (или подпапке), что может содержаться внутри.
Однако переменные среды обычно используются в качестве частей, из которых составляется команда. И если переменная уже содержит слэш на конце, то читабельность команды уменьшается. Например в этом случае мы должны писать команду так: „%Sys32%Calc.exe”. Вместо более наглядного написания „%Sys32%\Calc.exe”. Слэш мы всегда сможем добавить уже в собранном варианте команды или значения файлового объекта. Например: „If Exist "%AntiVir~BD%\"”. А вот убрать слэш из полученного значения переменной уже не удастся (по крайней мере в среде системных команд). Поэтому не будем понижать общую гибкость работы и примем за правило запрет на использование слэша на конце значения переменной среды.
Это правило в равной мере применяем и к значениям Параметров Пакетных файлов (файлов пакетов команд операционной системы).
Вынужденно делаем исключение из описанного правила по отношению к переменным Vol…”, значением которых являются корневые папки томов — они дополнены слэшем на конце. На это вынуждают слишком умные программисты FAr'а (по крайней мере версии 1.70). FAr отказывается сохранять ссылку на папку в виде „%VolSys%\”. Из этого вполне корректного значения убирается концевой слэш и сохраняется значение „%VolSys%”. При этом, как ни странно, можно сохранять значение „C:\”. Всё бы ничего, да только при значении „C:” FAr меняет только том (или так называемый „диск”), а путь оставляет тот, что активен для данного тома. Тогда как при значении „C:\” меняются и том, и путь — как и полагается, мы переходим в корневую папку тома. Такое поведение — отголосок команд DOS, где тома и пути обрабатывались порознь.