Total Commander Knowledge Base

Есть вопрос?

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

Псевдопеременные окружения

Псевдопеременные окружения (pseudo environment variables) — текстовые переменные, поддерживаемые Total Commander, но в отличие от настоящих переменных окружения не наследуемые дочерними процессами.

En-wiki-cropped.png
Navigation
в TotalcmdWiki.

Применение

Псевдопеременные были реализованы в версии 6.5 для удобства навигации по пользовательским папкам. Например, папка "Мои документы" в зависимости от локализации или желания пользователя может находиться по различным адресам. В версиях Windows ниже Vista единственный способ узнать ее реальный адрес – это прочитать значения ключа "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal".

Синтаксис и использование

Обратиться к псевдопеременной окружения можно следующим образом:

cd %$PERSONAL%[1]

Имя псевдопеременной всегда должно набрано в верхнем регистре. Этим можно воспользоваться, если нужно обратиться к одноименной переменной среды, например

%$PERSONAL% –  имя псевдопеременной TC
%$personal% – переменной среды Windows[2]

Использовать псевдопеременные можно только в пределах Total Commander, а именно:

  • в ключах wincmd.ini, где указаны какие-либо файловые пути
например расположение плагинов, локализаций, иконок и т. д. или текущие директории;
  • в ком. строке в сочетаниях с "cd" и "md";
  • в пользовательских командах, пунктах меню "запуск" и "избранные каталоги", кнопках меню в графах "Команда", "Путь запуска", "Файл значка".

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

  • в настройках плагинов, тем более внешних утилит;
  • в ком. строке, кроме как в сочетаниях с "cd" и "md";
  • в пользовательских командах, пунктах меню "запуск" и "избранные каталоги", кнопках меню в графе "Параметры".

Редактировать псевдопеременные напрямую нельзя.

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

Total Commander определяет псевдопеременные следующим образом:

  • из одноименных параметров в реестре берутся адреса:

папок текущего пользователя[3]

Имя Описание Пример
%$APPDATA% Application Data C:\Documents and Settings\MAIN\Application Data
%$DESKTOP% Рабочий стол C:\Documents and Settings\MAIN\Рабочий стол
%$PERSONAL% Мои документы C:\Documents and Settings\MAIN\Мои документы
%$PROGRAMS% Главное меню\Программы С:\Documents and Settings\MAIN\Главное меню\Программы
%$STARTMENU% Главное меню С:\Documents and Settings\MAIN\Главное меню
%$STARTUP% Главное меню\Программы\Автозагрузка С:\Documents and Settings\MAIN\Главное меню\Программы\Автозагрузка
%$MYPICTURES% Мои рисунки С:\Documents and Settings\MAIN\Мои документы\Мои рисунки
%$MYMUSIC% Моя музыка С:\Documents and Settings\MAIN\Мои документы\Моя музыка
%$MYVIDEO% Мое видео С:\Documents and Settings\MAIN\Мои документы\Мое видео
%$LOCAL_APPDATA% Local Settings\Application Data С:\Documents and Settings\MAIN\Local Settings\Application Data
%$FONTS% Шрифты С:\WINDOWS\Fonts

общих папок[4]

Имя Описание Пример
%$COMMON_APPDATA% Application Data C:\Documents and Settings\All Users\Application Data
%$COMMON_DESKTOPDIRECTORY% Рабочий стол C:\Documents and Settings\All Users\Рабочий стол
%$COMMON_DOCUMENTS% Документы C:\Documents and Settings\All Users\Документы
%$COMMON_PROGRAMS% Программы C:\Documents and Settings\All Users\Главное меню\Программы
%$COMMON_STARTMENU% Главное меню C:\Documents and Settings\All Users\Главное меню
%$COMMON_STARTUP% Автозагрузка C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка
%$COMMON_PICTURES% Рисунки C:\Documents and Settings\All Users\Документы\Мои рисунки
  • на основании доступных переменных среды создаются одноименные псевдопеременные, не создаются дубликаты для переменнных определяемых при обращении, например:
%$WINDIR% = %WINDIR% = C:\WINDOWS
%$RANDOM% – не определена

Псевдопеременные определяются один раз – при запуске, и до нового запуска TC не изменяются.

См. также

Примечания

  1. "%" здесь используется по аналогии с переменными среды Windows, "$" – по аналогии с признаком переменной в Unix-подобных оболочках.
  2. Стоит сказать, что лично я не встречал ни одной программы, которая бы давала переменным имена, начинающиеся со знака "$". Так что практической пользы от этого свойства немного.
  3. Ключ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\.
  4. Ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\.