Переменные
Плагин оперирует двумя типами переменных — внутренними и переменными окружения. Единственное различие между ними только в том, что внутренние переменные видимы только в плагине, а переменные окружения доступны для Total Commander и запускаемых из него программ.
В общем виде имя переменной может состоять только из латинских букв, цифр и символа подчеркивания «_». Внутренние переменные задаются командой Set, а переменные окружения — SetEnv. При использовании переменных в командах Autorun не делает между ними принципиального различия и может получать их значения как из тех, так и других, однако запись из команд возможна только во внутренние переменные (очевидное исключение — SetEnv). Это поведение можно изменить директивой AutorunAllowWriteEnv.
При использовании переменных в командах следует придерживаться простого правила: если значение переменной читается («разворачивается»), то переменная должна быть записана с использованием обрамляющих символов процента «%». Если же в переменную производится запись (команды Set, SetEnv и некоторые другие), то ее имя записывается как есть. Пример:
Set MY_COMMANDER_PATH %COMMANDER_PATH%
В примере выше значение переменной окружения COMMANDER_PATH будет прочитано и записано в переменную MY_COMMANDER_PATH.
Предопределенные переменные
Плагин имеет несколько предопределенных переменных (констант):
%AUTORUN_OSARCH% | Архитектура ОС, где работает Total Commander. Может быть 32 или 64. Идентична %SYSINFO_OSARCH%. |
%AUTORUN_TCHANDLE% | Хэндл окна Total Commander (для использования в скриптах). |
%AUTORUN_TCPID% | ID процесса Total Commander (для использования в скриптах). |
%AUTORUN_ISADMIN% | 1, если TC запущен под админом, иначе — 0. |
%AUTORUN_TCARCH% | 32 или 64 — архитектура TotalCommander, где загружен плагин. |
%AUTORUN_TCCMDLINE% | Командная строка TotalCommander. |
Переопределять предопределенные константы нельзя.
Дополнительные константы с системной информацией доступны в плагине SysInfo.
Макросы
Макросы - специальные переменные, значение которых при вызовах в разное время может меняться в зависимости от каких-либо факторов.
%AUTORUN_TCLANG% | Возвращает текущий код языка Total Commander. |
Переменная ERROR
Autorun имеет специальную переменную ERROR. Она обычно равна нулю, но некоторые команды могут устанавливать ее в другое значение в случае нефатальных ошибок (см. документацию к командам). Если вам необходима эта информация, проверяйте значение переменной сразу после выполнения команды, поскольку следующая команда может изменить значение переменной.