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

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

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

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

Применение

править

Помимо пакетных файлов (bat) переменными окружения можно пользоваться там, где допускается использование синтаксиса коммандной строки, и целесообразно везде, где требуется или может потребоваться переносимость (portable). 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%%;
  • в настройках большинства плагинов и утилит.

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

  • в диалогах (копирования, перемещения, создания, группового переименования, прочих);
  • в сочетании с тоталовской командой 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
%USERNAME% имя текущего пользователя MAIN