Total Commander Knowledge Base

Есть вопрос?

Поищите ответ в самой большой русскоязычной базе знаний по Total Commander!

Переменные окружения

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

Переменные окружения («Переменные среды», «environment variables») — текстовые переменные, наследуемые дочерниними процессами от родительского.

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

Не следует путать с псевдопеременными окружения. Последние не наследуются, а значит могут использоваться только в Total Commander.

Применение

Помимо пакетных файлов переменными окружения можно пользоваться там, где допускается использование синтаксиса коммандной строки, и целесообразно везде, где требуется или может потребоваться переносимость. Total Commander – пример этому самый подходящий.

Синтаксис и настройка

В Windows к переменным окружения можно обращаться из командной строки заключая имя переменной в знаки "%"

С:\>echo %PROCESSOR_ARCHITECTURE%
x86

Имя переменной регистронезависимо (%VAR% и %Var% – одна и та же переменная).
Для управления ими в cmd.exe встроена команда set, помощь по которой вызывается по команде set /?. Инициализируемые при запуске системы значения хранятся в реестре в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\. Также стоит обратить внимание на файлсистемный плагин Environment Variables, позволяющий управлять переменными среды прямо из панели TC.

Использование в TC

Кроме как непосредственно в командной строке, переменные окружения можно использовать:

  • в ключах wincmd.ini, где указаны какие-либо файловые пути, например расположение плагинов, локализаций, иконок и т.д.;
  • в пользовательских командах, пунктах меню "запуск" и "избранные каталоги", кнопках меню:
    • в полях "Команда", "Путь запуска", "Файл значка" – напрямую %VAR%
    • в поле "Параметры" – экранируя символ процента %%VAR%%;
  • в настройках большинства плагинов и утилит[1].

Нельзя использовать

  • в диалогах (копирования, перемещения, создания, группового переименования, прочих);
  • в сочетании с тоталовской командой md, если нужно, используйте соответствующие псевдопеременную или cmd /c md %VAR%;
  • в настройках плагина Plugin Manager (расположение wincmd.ini);

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

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

Переменные Total Commander

Total Commander при запуске создает для своего процесса три переменные окружения:

Имя Описание Пример
%COMMANDER_DRIVE% имя диска, с которого запущен TC C:
%COMMANDER_PATH% путь к каталогу, из которого запущен TC C:\WINCMD
%COMMANDER_INI% путь к текущему главному конфигурационному файлу TC C:\WINCMD\wincmd.ini

Пути к системным и пользовательским каталогам

Имя Описание Пример
%ALLUSERSPROFILE% размещение профиля «All Users» C:\Documents and Settings\All Users
%APPDATA% пользовательская папка «Application Data» C:\Documents and Settings\MAIN\Application Data
%COMMONPROGRAMFILES% обычно %ProgramFiles%\Common Files C:\Program Files\Common Files
%HOMEDRIVE% диск, где расположен корневой каталог C:
%HOMEPATH% корневой каталог, относительно диска \Documents and Settings\MAIN
%HOMESHARE% сетевой путь к общему каталогу пользователя
%PROGRAMFILES% папка Program Files C:\Program Files
%SYSTEMDRIVE% диск, откуда запущена Windows C:
%SYSTEMROOT% каталог, откуда запущена Windows C:\WINDOWS
%TEMP% временный каталог C:\DOCUME~1\MAIN\LOCALS~1\Temp
%TMP% временный каталог C:\DOCUME~1\MAIN\LOCALS~1\Temp
%USERPROFILE% профиль текущего пользователя C:\Documents and Settings\MAIN
%WINDIR% обычно %SYSTEMROOT% C:\WINDOWS

Прочие переменные

Другие переменные окружения, которые могут пригодиться. Список неполон.

Имя Описание Пример
%CD% путь к текущему каталогу, с обратной косой чертой C:\
%COMPUTERNAME% имя компьютера ZZZ-BOOK
%COMSPEC% путь до исполняемого файла терминала ком. строки C:\WINDOWS\system32\cmd.exe
%DATE% текущая дата 25.01.2009
%RANDOM% случайное число от 0 до 32767 20253
%TIME% текущее время с ведущим пробелом 1:59:59,79
%USERDOMAIN% имя домена, в который выполнен вход ZZZ-LOCAL
%USERNAME% имя текущего пользователя MAIN

Смотри также

Примечания

  1. К сожалению, в некоторых случаях определить поддерживаются ли переменные окружения тем или иным плагином, можно только экспериментально.