====== Переменные ====== Плагин оперирует двумя типами переменных --- внутренними и переменными окружения. Единственное различие между ними только в том, что внутренние переменные видимы только в плагине, а переменные окружения доступны для Total Commander и запускаемых из него программ. В общем виде имя переменной может состоять только из латинских букв, цифр и символа подчеркивания "_". Внутренние переменные задаются командой Set, а переменные окружения --- SetEnv. При использовании переменных в командах Autorun не делает между ними принципиального различия и может получать их значения как из тех, так и других, однако запись из команд возможна только во внутренние переменные (очевидное исключение --- SetEnv). Это поведение можно изменить [[directives|директивой]] 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_vars|SysInfo]]. ==== Макросы ==== Макросы - специальные переменные, значение которых при вызовах в разное время может меняться в зависимости от каких-либо факторов. |**%AUTORUN_TCLANG%**|Возвращает текущий код языка Total Commander. | ==== Переменная ERROR ==== Autorun имеет специальную переменную **ERROR**. Она обычно равна нулю, но некоторые команды могут устанавливать ее в другое значение в случае нефатальных ошибок (см. документацию к командам). Если вам необходима эта информация, проверяйте значение переменной сразу после выполнения команды, поскольку следующая команда может изменить значение переменной.