Дополнение №12


Параметры [tc] и <tc>



Параметр возвращает в строку параметров команд различную информацию объектов файловых панелей Total Commander.

Параметр может быть задействован тогда, когда нет возможности использовать стандартные параметры Total Commander. см. Дополнение №7.

Параметры Total Commander действуют на момент вызова командной строки. Далее в процессе данного вызова нет возможности с помощью них получить дополнительную информацию (при смене каталогов, дополнительном выделении...).

Параметр [tc] позволяет получать информацию и передавать их командам во время вызова, а так же в реальном времени.

Параметр [tc] позволяет получать различные списки, в отличие от основного минуса Total Commander, который передаёт только один вид списка, даже если прописать %WL и %WF в одной командной строке.



Конструкция параметра:

[tc=Parameter]

или

[tc=Parameter1!!Parameter2!!...!!ParameterN]

если необходимо что-то вставить между параметрами, то такая строка должна начинаться с &:

[tc=Parameter1!!&String1!!Parameter2!!&String2!!...!!&StringN!!ParameterN]

<tc=Parameter1!!&String1!!Parameter2!!&String2!!...!!&StringN!!ParameterN>


  В String могут использоваться:
    • "@CR" - символ возврата каретки Chr(13), "@LF" - символ перевода строки Chr(10), "@CRLF" = @CR & @LF, "@TAB" - символ Tab Chr(9).
    • функции Autoit (см. параметр ?U Дополнение №24)
    • информация глобальных переменных GLOBALNAME<N>, GLOBALNAME<xN> (см. Дополнение №23)



Внимание! Параметр не работает при GetTextMode=0 в Wincmd.ini в секции [Configuration]
При любом другом значении есть возможность получать имена объектов.
Информация о ключе
GetTextMode
Определяет формат данных, возвращаемых в ответ на сообщения LB_GETTEXT. Значения ключа определяют вид разделителя:
0: пробел; [при таком разделителе нет возможности получать точные имена объектов и данные колонок]
1: табуляция;
2: перевод строки в UNIX-формате (символ <CR>);
3: перевод строки в Windows-формате (символы <CR><LF>);
4: аналогично значению 2, но с дополнительными заголовками;
5: аналогично значению 3, но с дополнительными заголовками.
Значения 4 и 5 возвращают содержимое полей в следующем формате:
Имя:<TAB>имя_файла<CR>Размер:<TAB>10 Кб<CR>… и т.д.

Некоторые параметры не работают в режиме "Эскизы"



Для параметров требующих выделение при добавлении "*d" или "*f" возвращаются списки либо каталогов, либо файлов.

Пример записи:

aends=[tc=AL*d]??-1 GLOBALAENDS<a> ;; получить список путей выделенных папок активной панели
aends=[tc=AL*f]??-1 GLOBALAENDS<a> ;; получить список путей выделенных файлов активной панели


Для параметров требующих выделение после символа "*" может быть прописана строка номеров и диапазонов через запятую для получения нужных выделенных объектов.
    *K1,K2,...,N1:M1,...,N2:M2 - для всех выделенных объектов (каталогов и файлов)
    *K1,K2,...,N1:M1,...,N2:M2d - для всех выделенных каталогов
    *K1,K2,...,N1:M1,...,N2:M2f - для всех выделенных файлов
    при отрицательных числах отсчёт ведётся с конца выделения

Пример записи:

aends=[tc=AL*1,2,-1]??-1 GLOBALAENDS<a> ;; получить пути 1-го, 2-го и последнего выделенного объекта
aends=[tc=AL*1]??-1 GLOBALAENDS<a> ;; получить путь 1-го выделенного объекта
aends=[tc=AL*2:-1]??-1 GLOBALAENDS<a> ;; получить пути выделенных объектов со 2-го до последнего

aends=[tc=AL*1,-1d]??-1 GLOBALAENDS<a> ;; получить путь 1-го и последнего выделенного каталога
aends=[tc=AL*1d]??-1 GLOBALAENDS<a> ;; получить путь 1-го выделенного каталога
aends=[tc=AL*3d]??-1 GLOBALAENDS<a> ;; получить путь 3-го выделенного каталога

aends=[tc=AL*1,-2f]??-1 GLOBALAENDS<a> ;; получить путь 1-го и предпоследнего выделенного файла
aends=[tc=AL*1f]??-1 GLOBALAENDS<a> ;; получить путь 1-го выделенного файла




В некоторых случаях необходимо получить список каталогов без конечного слеша для этого перед параметрами пропишите символ "`" (апостроф)

Пример записи:

aends=[tc=`AL*d]??-1 GLOBALAENDS<a> ;; получить пути выделенных каталогов без конечного слеша




Для параметров возвращающих временный файл со списком при добавлении в начало символа "C" будет возвращаться информация всех колонок.
Разделитель между колонками табуляция Chr(9).

Пример записи:

anf2d=[tc=CAL-1]||2||([^\t]+)||begin<0> GLOBALANF2D<a> ;; получение 2D массива с информацией колонок всех объектов активной файловой панели
anf2d=[tc=CAL*f]||2||([^\t]+)||begin<0> GLOBALANF2D<a> ;; получение 2D массива с информацией колонок всех выделенных файлов активной файловой панели




Дополнительные параметры Line|Mode|Number , где:
  Line - строка параметров.
  Mode - [необязательный] режим вывода информации.
    1 - обычный (по умолчанию). Возвращается временный файл или путь.
    2 - передача данных в команды напрямую без временного файла.
      • режим актуален для списков.
      • при этом все данные записываются в глобальный массив GLOBALTOTAL
        (в 1-ю ячейку записываются первые данные, во 2-ю ячейку - вторые данные, и.т.д)
    3 - в командную строку ничего не возвращается.
  Number - [необязательный]
      • при использовании этого параметра данные записываются в глобальные переменные GLOBALTCGETNumber
        (если Number=1, то данные записываются в GLOBALTCGET1, если Number=15, то в GLOBALTCGET15)
        (при повторном использовании Number данные в глобальной переменной перезаписываются)

Пример записи:

dilog=[tc=AL-1|3|1] GLOBALTCGET1<a> ;; получить пути всех объектов в активной файловой панели
dilog=[tc=AL-1|3|1][tc=TL-1|3|2] GLOBALTCGET1<a> GLOBALTCGET2<a> ;; получить пути всех объектов в активной и неактивной файловой панели
copys=[tc=AL-1|2]||"%t"//0||upd<3> ;; копировать все объекты активной файловой панели в другую панель
aends=[tc=CAL-1|2]??-1 GLOBALAENDS<a> ;; получение информации колонок всех объектов в активной файловой панели


Если в каких-то командах не будут работать дополнительные параметры, то сообщайте, добавлю обработку данных...




1. Требуется выделение:

Возвращает временный файл со списком полных путей объектов. Расширенный аналог параметра %WL.
Не добавляет в список объект под курсором, если ничего не выделено.

ПараметрОписание
LLвременный файл списка путей выделенных объектов левой панели
RLвременный файл списка путей выделенных объектов правой панели
ALвременный файл списка путей выделенных объектов активной панели
TLвременный файл списка путей выделенных объектов другой панели

Возвращает временный файл со списком имён объектов. Расширенный аналог параметра %WF.
Не добавляет в список объект под курсором, если ничего не выделено.

ПараметрОписание
LFвременный файл списка имён выделенных объектов левой панели
RFвременный файл списка имён выделенных объектов правой панели
AFвременный файл списка имён выделенных объектов активной панели
TFвременный файл списка имён выделенных объектов другой панели

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Возвращает временный файл со списком полных путей объектов. Расширенный аналог параметра %WL.
Добавляет в список объект под курсором, если ничего не выделено.

ПараметрОписание
LMвременный файл списка путей выделенных объектов левой панели
RMвременный файл списка путей выделенных объектов правой панели
AMвременный файл списка путей выделенных объектов активной панели
TMвременный файл списка путей выделенных объектов другой панели

Возвращает временный файл со списком имён объектов. Расширенный аналог параметра %WF.
Добавляет в список объект под курсором, если ничего не выделено.

ПараметрОписание
LGвременный файл списка имён выделенных объектов левой панели
RGвременный файл списка имён выделенных объектов правой панели
AGвременный файл списка имён выделенных объектов активной панели
TGвременный файл списка имён выделенных объектов другой панели


2. Требуется выделение:

Возвращает временный файл со списком полных путей объектов обеих панелей. Аналога нет.
Не добавляет в список объекты под курсором, если они не выделены.

ПараметрОписание
SLвременный файл списка путей выделенных объектов обеих панелей.
(список состоит из объектов активной и не активной панели)
ZLвременный файл списка путей выделенных объектов обеих панелей.
(список состоит из поочерёдных объектов активной и не активной панели.
список составляется по наименьшему количеству выделенного одной из панелей)

Возвращает временный файл со списком имён объектов обеих панелей. Аналога нет.
Не добавляет в список объекты под курсором, если они не выделены.

ПараметрОписание
SFвременный файл списка имён выделенных объектов обеих панелей.
(список состоит из объектов активной и не активной панели)
ZFвременный файл списка имён выделенных объектов обеих панелей.
(список состоит из поочерёдных объектов активной и не активной панели.
список составляется по наименьшему количеству выделенного одной из панелей)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Возвращает временный файл со списком полных путей объектов обеих панелей. Аналога нет.
Добавляет в список объекты под курсором, если они не выделены.

ПараметрОписание
SMвременный файл списка путей выделенных объектов обеих панелей.
(список состоит из объектов активной и не активной панели)
ZMвременный файл списка путей выделенных объектов обеих панелей.
(список состоит из поочерёдных объектов активной и не активной панели.
список составляется по наименьшему количеству выделенного одной из панелей)

Возвращает временный файл со списком имён объектов обеих панелей. Аналога нет.
Добавляет в список объекты под курсором, если они не выделены.

ПараметрОписание
SGвременный файл списка имён выделенных объектов обеих панелей.
(список состоит из объектов активной и не активной панели)
ZGвременный файл списка имён выделенных объектов обеих панелей.
(список состоит из поочерёдных объектов активной и не активной панели.
список составляется по наименьшему количеству выделенного одной из панелей)


3. Не требуется выделение:

Возвращает временный файл со списком полных путей заданных объектов. Аналога нет.
В левой панели.

ПараметрОписание
LL-1временный файл списка путей всех объектов
LL-1fвременный файл списка путей всех файлов
LL-1dвременный файл списка путей всех папок
LL5временный файл списка путей первых 5-ти объектов
LL5fвременный файл списка путей первых 5-ти файлов
LL5dвременный файл списка путей первых 5-ти папок
LL10-20временный файл списка путей с 10-го по 20-й объект включительно
LL10-20fвременный файл списка путей с 10-го по 20-й файл включительно
LL10-20dвременный файл списка путей с 10-ю по 20-ю папку включительно
Для нескольких позиций и диапазонов: K1,K2,...,N1:M1,...,N2:M2
LL1,2,5,-1,-2временный файл списка путей объектов 1-го, 2-го, 5-го, последнего и предпоследнего
LL1:9,20:-1dвременный файл списка путей папок с 1-й по 9-ю, с 20-й и до конца
LL3:7,11,12fвременный файл списка путей файлов с 3-го по 7-й, 11-й и 12-й
Случайные данные. Так же может применяться к параметрам RL, AL, TL, LF, RF, AF, TF не требующих выделения
LL^-1временный файл списка путей всех объектов в случайном порядке
LL^-1fвременный файл списка путей всех файлов в случайном порядке
LL^-1dвременный файл списка путей всех папок в случайном порядке
LL^1временный файл списка случайного пути 1-го объекта
LL^1fвременный файл списка случайного пути 1-го файла
LL^1dвременный файл списка случайного пути 1-й папки
LL^5временный файл списка путей случайных 5-ти объектов
LL^5fвременный файл списка путей случайных 5-ти файлов
LL^5dвременный файл списка путей случайных 5-ти папок
LL^3-5временный файл списка случайных путей от 3-х до 5-ти
LL^3-5fвременный файл списка случайных путей файлов от 3-х до 5-ти
LL^3-5dвременный файл списка случайных путей папок от 3-х до 5-ти

В правой панели.

ПараметрОписание
RL-1временный файл списка путей всех объектов
RL-1fвременный файл списка путей всех файлов
RL-1dвременный файл списка путей всех папок
RL5временный файл списка путей первых 5-ти объектов
RL5fвременный файл списка путей первых 5-ти файлов
RL5dвременный файл списка путей первых 5-ти папок
RL10-20временный файл списка путей с 10-го по 20-й объект включительно
RL10-20fвременный файл списка путей с 10-го по 20-й файл включительно
RL10-20dвременный файл списка путей с 10-ю по 20-ю папку включительно
Для нескольких позиций и диапазонов: K1,K2,...,N1:M1,...,N2:M2
RL1,2,5,-1,-2временный файл списка путей объектов 1-го, 2-го, 5-го, последнего и предпоследнего
RL1:9,20:-1dвременный файл списка путей папок с 1-й по 9-ю, с 20-й и до конца
RL3:7,11,12fвременный файл списка путей файлов с 3-го по 7-й, 11-й и 12-й

В активной панели.

ПараметрОписание
AL-1временный файл списка путей всех объектов
AL-1fвременный файл списка путей всех файлов
AL-1dвременный файл списка путей всех папок
AL5временный файл списка путей первых 5-ти объектов
AL5fвременный файл списка путей первых 5-ти файлов
AL5dвременный файл списка путей первых 5-ти папок
AL10-20временный файл списка путей с 10-го по 20-й объект включительно
AL10-20fвременный файл списка путей с 10-го по 20-й файл включительно
AL10-20dвременный файл списка путей с 10-ю по 20-ю папку включительно
Для нескольких позиций и диапазонов: K1,K2,...,N1:M1,...,N2:M2
AL1,2,5,-1,-2временный файл списка путей объектов 1-го, 2-го, 5-го, последнего и предпоследнего
AL1:9,20:-1dвременный файл списка путей папок с 1-й по 9-ю, с 20-й и до конца
AL3:7,11,12fвременный файл списка путей файлов с 3-го по 7-й, 11-й и 12-й

В другой панели.

ПараметрОписание
TL-1временный файл списка путей всех объектов
TL-1fвременный файл списка путей всех файлов
TL-1dвременный файл списка путей всех папок
TL5временный файл списка путей первых 5-ти объектов
TL5fвременный файл списка путей первых 5-ти файлов
TL5dвременный файл списка путей первых 5-ти папок
TL10-20временный файл списка путей с 10-го по 20-й объект включительно
TL10-20fвременный файл списка путей с 10-го по 20-й файл включительно
TL10-20dвременный файл списка путей с 10-ю по 20-ю папку включительно
Для нескольких позиций и диапазонов: K1,K2,...,N1:M1,...,N2:M2
TL1,2,5,-1,-2временный файл списка путей объектов 1-го, 2-го, 5-го, последнего и предпоследнего
TL1:9,20:-1dвременный файл списка путей папок с 1-й по 9-ю, с 20-й и до конца
TL3:7,11,12fвременный файл списка путей файлов с 3-го по 7-й, 11-й и 12-й


Возвращает временный файл со списком имён заданных объектов. Аналога нет.
В левой панели.

ПараметрОписание
LF-1 временный файл списка имён всех объектов
LF-1f временный файл списка имён всех файлов
LF-1d временный файл списка имён всех папок
LF5 временный файл списка имён первых 5-ти объектов
LF5f временный файл списка имён первых 5-ти файлов
LF5d временный файл списка имён первых 5-ти папок
LF10-20 временный файл списка имён с 10-го по 20-й объект включительно
LF10-20f временный файл списка имён с 10-го по 20-й файл включительно
LF10-20d временный файл списка имён с 10-ю по 20-ю папку включительно
Для нескольких позиций и диапазонов: K1,K2,...,N1:M1,...,N2:M2
LF1,2,5,-1,-2временный файл списка имён объектов 1-го, 2-го, 5-го, последнего и предпоследнего
LF1:9,20:-1dвременный файл списка имён папок с 1-й по 9-ю, с 20-й и до конца
LF3:7,11,12fвременный файл списка имён файлов с 3-го по 7-й, 11-й и 12-й

В правой панели.

ПараметрОписание
RF-1 временный файл списка имён всех объектов
RF-1f временный файл списка имён всех файлов
RF-1d временный файл списка имён всех папок
RF5 временный файл списка имён первых 5-ти объектов
RF5f временный файл списка имён первых 5-ти файлов
RF5d временный файл списка имён первых 5-ти папок
RF10-20 временный файл списка имён с 10-го по 20-й объект включительно
RF10-20f временный файл списка имён с 10-го по 20-й файл включительно
RF10-20d временный файл списка имён с 10-ю по 20-ю папку включительно
Для нескольких позиций и диапазонов: K1,K2,...,N1:M1,...,N2:M2
RF1,2,5,-1,-2временный файл списка имён объектов 1-го, 2-го, 5-го, последнего и предпоследнего
RF1:9,20:-1dвременный файл списка имён папок с 1-й по 9-ю, с 20-й и до конца
RF3:7,11,12fвременный файл списка имён файлов с 3-го по 7-й, 11-й и 12-й

В активной панели.

ПараметрОписание
AF-1 временный файл списка имён всех объектов
AF-1f временный файл списка имён всех файлов
AF-1d временный файл списка имён всех папок
AF5 временный файл списка имён первых 5-ти объектов
AF5f временный файл списка имён первых 5-ти файлов
AF5d временный файл списка имён первых 5-ти папок
AF10-20 временный файл списка имён с 10-го по 20-й объект включительно
AF10-20f временный файл списка имён с 10-го по 20-й файл включительно
AF10-20d временный файл списка имён с 10-ю по 20-ю папку включительно
Для нескольких позиций и диапазонов: K1,K2,...,N1:M1,...,N2:M2
AF1,2,5,-1,-2временный файл списка имён объектов 1-го, 2-го, 5-го, последнего и предпоследнего
AF1:9,20:-1dвременный файл списка имён папок с 1-й по 9-ю, с 20-й и до конца
AF3:7,11,12fвременный файл списка имён файлов с 3-го по 7-й, 11-й и 12-й

В другой панели.

ПараметрОписание
TF-1 временный файл списка имён всех объектов
TF-1f временный файл списка имён всех файлов
TF-1d временный файл списка имён всех папок
TF5 временный файл списка имён первых 5-ти объектов
TF5f временный файл списка имён первых 5-ти файлов
TF5d временный файл списка имён первых 5-ти папок
TF10-20 временный файл списка имён с 10-го по 20-й объект включительно
TF10-20f временный файл списка имён с 10-го по 20-й файл включительно
TF10-20d временный файл списка имён с 10-ю по 20-ю папку включительно
Для нескольких позиций и диапазонов: K1,K2,...,N1:M1,...,N2:M2
TF1,2,5,-1,-2временный файл списка имён объектов 1-го, 2-го, 5-го, последнего и предпоследнего
TF1:9,20:-1dвременный файл списка имён папок с 1-й по 9-ю, с 20-й и до конца
TF3:7,11,12fвременный файл списка имён файлов с 3-го по 7-й, 11-й и 12-й


Возвращает путь файловой панели. Аналог параметра %P, %T.

ПараметрОписание
LPпуть левой панели
RPпуть правой панели
APпуть активной панели
TPпуть другой панели

ПараметрОписание
LZпуть левой панели без конечного слеша
RZпуть правой панели без конечного слеша
AZпуть активной панели без конечного слеша
TZпуть другой панели без конечного слеша


Возвращает путь заданного объекта. Аналог параметра %P%Т, %T%M.

ПараметрОписание
LAпуть активного объекта левой панели
LA1, LA2 ... LANпуть N-го объекта левой панели
RAпуть активного объекта правой панели
RA1, RA2 ... RANпуть N-го объекта правой панели
AAпуть активного объекта активной панели
AA1, AA2 ... AANпуть N-го объекта активной панели
TAпуть активного объекта другой панели
TA1, TA2 ... TANпуть N-го объекта другой панели

То же самое, что и параметры предыдущей таблицы, но возвращается путь папки без конечного слеша

ПараметрОписание
LQпуть активного объекта левой панели
LQ1, LQ2 ... LQNпуть N-го объекта левой панели
RQпуть активного объекта правой панели
RQ1, RQ2 ... RQNпуть N-го объекта правой панели
AQпуть активного объекта активной панели
AQ1, AQ2 ... AQNпуть N-го объекта активной панели
TQпуть активного объекта другой панели
TQ1, TQ2 ... TQNпуть N-го объекта другой панели


Возвращает имя с расширением заданного объекта. Расширенный аналог параметра %N, %M.%E.

ПараметрОписание
LNимя с расширением активного объекта левой панели
LN1, LN2 ... LNNимя с расширением N-го объекта левой панели
RNимя с расширением активного объекта правой панели
RN1, RN2 ... RNNимя с расширением N-го объекта правой панели
ANимя с расширением активного объекта активной панели
AN1, AN2 ... ANNимя с расширением N-го объекта активной панели
TNимя с расширением активного объекта другой панели
TN1, TN2 ... TNNимя с расширением N-го объекта другой панели


Возвращает имя без расширения заданного объекта. Расширенный аналог параметра %O, %M.

ПараметрОписание
LOимя без расширения активного объекта левой панели
LO1, LO2 ... LONимя без расширения N-го объекта левой панели
ROимя без расширения активного объекта правой панели
RO1, RO2 ... RONимя без расширения N-го объекта правой панели
AOимя без расширения активного объекта активной панели
AO1, AO2 ... AONимя без расширения N-го объекта активной панели
TOимя без расширения активного объекта другой панели
TO1, TO2 ... TONимя без расширения N-го объекта другой панели


Возвращает расширение заданного объекта. Расширенный аналог параметра %E.

ПараметрОписание
LEрасширение активного объекта левой панели
LE1, LE2 ... LENрасширение N-го объекта левой панели
REрасширение активного объекта правой панели
RE1, RE2 ... RENрасширение N-го объекта правой панели
AEрасширение активного объекта активной панели
AE1, AE2 ... AENрасширение N-го объекта активной панели
TEрасширение активного объекта другой панели
TE1, TE2 ... TENрасширение N-го объекта другой панели



Для значений .P, .A, .N, .O, .E возможно совместное использование.

Пример записи:

[tc=LA!!TN]

[tc=LA!!TO!!&.!!AE]

[tc=LA!!&Name.!!AE]



© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru