Описание команды


blist

Создание различных списков, преобразование и передача их в другие команды и параметры.
Аналог команды slist

blist=Analog

Параметры:

AnalogВсе параметры аналогичны команде slist.

Примечания:

Дополнительные символы, которые можно использовать в строке: "@CR" - Символ возврата каретки, Chr(13), "@LF" - Символ перевода строки, Chr(10), "@CRLF" = @CR & @LF, "@TAB" - Символ Tab, Chr(9).

Если в команде(ах) необходимы кавычки, то используются две одинарных кавычки (апострофа) '' , если в команде необходим пробел - используются два символа тильды ~~.

Команда имеет возможность передавать другим командам информацию через именные глобальные переменные. см. Дополнение №23

Имя переменнойОписание
GLOBALBLIST0массив входных данных (список исходных путей объектов)
GLOBALBLISTмассив выходных данных (список преобразованных по заданным условиям путей объектов)
GLOBALBLIST1массив вошедших в список объектов (список путей объектов, которые вошли в список)
GLOBALBLIST2массив не вошедших в список объектов (список путей объектов, которые не вошли в список)
GLOBALBLIST3массив выходных данных (в первой ячейке путь созданного файла при использовании параметра save<>)

См. также:

alist, clist, dlist, elist, flist, glist, hlist, ilist, jlist, klist, llist, mlist, nlist, olist, plist, qlist, rlist, slist, tlist, ulist, vlist, wlist, xlist, ylist, zlist

Примеры:
 Как создать кнопку?

<TRAY=HINT2||1||%%TCIMG_PATH%%\TCIMG.dll,38> <TIME=h00n01:h23n59:n06> exect=TraySetState(1)||TrayTip('***********Скоро~~Разминка***********','До~~начала~~разминки~~осталось~~10~~секунд'&@CRLF&'<info=s100dddd~~MMMM~~yyyy~~H:mm:ss>',5,1)||Sleep(1000) infbx=InfoBox16 sndps=D:\TCSibirnik\Files\Sound\Warmup\start.mp3||1 blist=PS<D:\Досуг\Музыка//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> sndps=GLOBALUENDS<1>||0 infos=3||1||GLOBALUENDS<1>||1 infht=GLOBALINFOS<28>||Приятной~~Разминки||@$f250\Files\Htm\Trec_Timer2.htm||500||40||65||840||set<FF033E|FDEE00|1,,,30,,,1>||style<2|1> sndps=D:\TCSibirnik\Files\Sound\Warmup\finish.mp3||1 ;; Вывод сообщения "Пора на разминку", проигрыш звукового файла, проигрывание случайного трека в бегущей строке, проигрыш звукового файла, закрытие и повтор цикла через 30 минут

<TRAY=HINT2||1||%%TCIMG_PATH%%\TCIMG.dll,38> <TIME=h00n01:h23n59:n30> infbx=InfoBox16 blist=PS<E:\Музыка\2\//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> sndps=GLOBALUENDS<1> ;; выводить строку "Пора на разминку", воспроизвести произвольный трек, и после проигрывания одного трека автозакрытие плеера, с повтором цикла через 30 минут

aends=x??-1||#K10!!@CRLF678 bnf2d=$GLOBALAENDS||2||(.) alist=%WL GLOBALALIST<a> blist=[tc=TL] GLOBALBLIST<a> arr2d=$GLOBALALIST||18|$GLOBALBLIST+$GLOBALBNF2D GLOBALARR2D<a> ;; пример горизонтального объединения 3 массивов в 2D массив выделенного активной панели 1D и выделенного неактивной панели 1D и 2D создаваемого

aends=x??-1||#K10!!@CRLF678 bnf2d=$GLOBALAENDS||2||(.) alist=%WL GLOBALALIST<a> blist=[tc=TL] GLOBALBLIST<a> arr2d=$GLOBALALIST||19|$GLOBALBLIST+$GLOBALBNF2D GLOBALARR2D<a> ;; пример вертикального объединения 3 массивов в 2D массив выделенного активной панели 1D и выделенного неактивной панели 1D и 2D создаваемого

alist=%WL GLOBALALIST<a> blist=%WL||##path<6> GLOBALBLIST<a> aends=ABCDE??-3 GLOBALAENDS<a> arr2d=$GLOBALAENDS||15|$GLOBALBLIST!!!!$GLOBALALIST GLOBALARR2D<a> ;; преобразовать 1D массив в 2D массив, вставив 0-ю колонку колонку с данными из 1D массива GLOBALBLIST, в последнюю колонку колонку с данными из 1D массива GLOBALALIST

alist=%WL GLOBALALIST<a> blist=%WL||##path<6> GLOBALBLIST<a> aends=x??-1||#K20!!@CRLF123 anf2d=$GLOBALAENDS||2||(.) GLOBALANF2D<a> arr2d=$GLOBALANF2D||15|нуль!!$GLOBALBLIST!!$GLOBALALIST GLOBALARR2D<a> ;; в созданном массиве в нулевую колонку вставить колонку со словом "нуль", в последнюю колонку вставить колонку с данными из 1D массива GLOBALALIST, между колонками вставить колонку с данными из 1D массива GLOBALBLIST

alist=%WL GLOBALALIST<a> blist=[tc=TL] GLOBALBLIST<a> arr2d=$GLOBALALIST||18|$GLOBALBLIST GLOBALARR2D<a> ;; пример горизонтального объединения в 2D массив выделенного активной панели 1D и выделенного неактивной панели 1D

alist=%WL GLOBALALIST<a> blist=[tc=TL] GLOBALBLIST<a> arr2d=$GLOBALALIST||19|$GLOBALBLIST GLOBALARR2D<a> ;; пример вертикального объединения в 1D массив выделенного активной панели 1D и выделенного неактивной панели 1D

alist=%WL slist=%WL||test<1n!!(\d{4}).(\d{2}).(\d{2})> renms=$GLOBALSLIST||&&(\d{4}).(\d{2}).(\d{2})!!date<YYYY.MM.DD> blist=$GLOBALALIST||<dellist=$GLOBALSLIST|2> renms=$GLOBALBLIST||$$_[info=s38]||upd<1> ;; если в базовых именах выделенных объектов имеется дата вида YYYY.MM.DD, то заменить её на текущую, если дата отсутствует, то добавить дату в конец имени

alist=%WL slist=%WL||test<1n!!(\d{4}).(\d{2}).(\d{2})> renms=$GLOBALSLIST||&&(\d{4}).(\d{2}).(\d{2})!!date<YYYY.MM.DD> blist=$GLOBALALIST||<dellist=$GLOBALSLIST|2> renms=$GLOBALBLIST||$$~~[info=s38]||upd<1> ;; если в базовых именах выделенных объектов имеется дата вида YYYY.MM.DD, то заменить её на текущую, если дата отсутствует, то добавить дату в конец имени

alist=%WL slist=%WL||test<1n!!(\d{4}).(\d{2}).(\d{2})> renms=$GLOBALSLIST||&&(\d{4}).(\d{2}).(\d{2})!!date<YYYY.MM.DD> blist=$GLOBALALIST||<dellist=$GLOBALSLIST|2> renms=$GLOBALBLIST||^^[info=s38]_||upd<1> ;; если в базовых именах выделенных объектов имеется дата вида YYYY.MM.DD, то заменить её на текущую, если дата отсутствует, то добавить дату в начало имени (через тире)

alist=%WL slist=PS<"%T"//1//0>||##path<6>||&&^0*(\d*)(.*)$!!$1||formt<11> exect=$var_i=GLOBALSLIST<1>+1 xends=~~-~~ copys=$GLOBALALIST||"%t"//0||##cntr<$var_i|1|1> blist=$GLOBALCOPYS||##path<6> $GLOBALBLIST@$GLOBALALIST@GLOBALXENDS<1> sends=$GLOBALBLIST??1 asave=GLOBALSENDS||"%t"CopyLog.txt|2|@CRLF|2||upd<3> ;; копировать выделенные файлы в другую панель переименовав их в продолжение нумерации файлов другой панели и записать в файл CopyLog.txt имена новых файлов + откуда они были скопированы

blist=%WL uends=x||##rndm<22|$GLOBALBLIST> GLOBALUENDS<a> ;; записать в буфер обмена случайный путь выделенных объектов

blist=%WL||?V|##|Floor(<info=i8::>/2)||^^circle~~||?V|$$|'--'&Ceiling(<info=i8::>/2) GLOBALBLIST<a> ;; для выделенных изображений получить округлённые значения наименьшей стороны

blist=PS<E:\Музыка\2\//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> GLOBALUENDS<a> ;; получить случайный трек из заданной папки

blist=PS<E:\Музыка\2\//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> sndps=GLOBALUENDS<1> ;; воспроизвести случайный трек из заданной папки

blist=PS<E:\Музыка\2\//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> sndps=GLOBALUENDS<1>||0 infos=3||1||GLOBALUENDS<1>||1 infht=-1||Трек||@$f250\Files\Htm\Trec.htm||500||40||5||5||set<FF033E|FDEE00|1,,,30,,,1> ;; воспроизвести случайный аудиофайл из заданной папки и вывести информационную строку о треке

blist=PS<E:\Музыка\2\//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> sndps=GLOBALUENDS<1>||0 infos=3||1||GLOBALUENDS<1>||1 infht=GLOBALINFOS<28>||Трек||@$f250\Files\Htm\Trec.htm||500||40||5||5||set<FF033E|FDEE00|1,,,30,,,1> ;; воспроизвести случайный аудиофайл из заданной папки и вывести информационную строку о треке (окно закроется по окончанию трека)

global alist=PS<[tc=AP]//1//0//*.epub> folds="%P"||list<$GLOBALALIST//4>||fflag<1> start=RAR||-IBCK||x||list<$GLOBALALIST>||list2<$GLOBALFOLDS>||&&wait||progres<> delss=$GLOBALALIST||1||inuse<1>||recycle<1> blist=$GLOBALFOLDS||&&.*\K\\$!!||$$.zip start=RAR||a||-IBCK||-r||-ep1||list<$GLOBALBLIST>||list2<$GLOBALFOLDS>||progres<>||&&wait delss=$GLOBALFOLDS||1 renms=$GLOBALBLIST||**0!!epub ;; перепаковка всех файлов EPUB активной панели

global folds="%P"||list<%WL//4>||fflag<1> start=RAR||-IBCK||x||list<%UL>||list2<$GLOBALFOLDS>||&&wait||progres<> delss=%WL||1||inuse<1>||recycle<1> blist=$GLOBALFOLDS||&&.*\K\\$!!||$$.zip start=RAR||a||-IBCK||-r||-ep1||list<$GLOBALBLIST>||list2<$GLOBALFOLDS>||progres<>||&&wait delss=$GLOBALFOLDS||1 renms=$GLOBALBLIST||**0!!epub ;; перепаковка выделенных файлов EPUB

global folds="%P"||list<%WL//4>||fflag<1> start=RAR||-IBCK||x||list<%WL>||list2<$GLOBALFOLDS>||&&wait||progres<> delss=%WL||1||inuse<1>||recycle<1> blist=$GLOBALFOLDS||&&.*\K\\$!!||$$.zip start=RAR||a||-IBCK||-r||-ep1||list<$GLOBALBLIST>||list2<$GLOBALFOLDS>||progres<>||&&wait delss=$GLOBALFOLDS||1 renms=$GLOBALBLIST||**0!!epub ;; перепаковка выделенных файлов EPUB (*.epub - распаковка -*.zip - *.epub)

global slist=PS<[tc=TP]//1//0>||##path<4>||formt<0!!(?i)[a-zа-яё].*!!> xends=GLOBALSLIST<1>||formt<0!!(?m)([\d]+)(\D).*>||&&.*\d!! <IF> 1 <> <info=t61$GLOBALXENDS[1]> <THEN> xends=_ <ENDIF> blist=$GLOBALXENDS xlist=$GLOBALSLIST||&&\D.*!!||formt<11> <IF> 1 <> <info=t61$GLOBALXLIST[1]> <THEN> bends=000 xlist=$GLOBALBENDS <ENDIF> iends=<info=t60$GLOBALXLIST[1]> aends=GLOBALXLIST<1>||#Sfnc_numplus0 copys=%WL||"%t"//0||^^cntr<GLOBALAENDS<1>|1|GLOBALIENDS<1>>GLOBALBLIST<1>||upd<3> ;; копировать выделенные файлы активной панели в другую панель с добавлением к именам копируемых файлов в начало имени счетчика являющимся продолжением начальной нумерации файлов в другой панели

global tempxx slist=FOLDC<%WL//1//-1> copys=$GLOBALSLIST||$f254//0||##rndm<3|10> alist=$GLOBALCOPYS1||$$.zip||#P$f254!!"%T" blist=$GLOBALCOPYS0||$$.zip||"%P"!!"%T" pathb=$f254 tcimg=$cm523|2050 arwcx="%t"1||zip||1||wait<> tempxx moves=$GLOBALALIST||listz<$GLOBALBLIST>//0||upd<2> ;; архивировать все файлы выделенных папок в ZIP в другую панель каждый в свою папку (т.е. с сохранением структуры)

imgpr=1 global folds=D:\Перебор\ALL\||list<%WL//4>||fflag<0> start=RAR||-IBCK||x||list<%WL>||list2<$GLOBALFOLDS>||&&hide||&&wait alist=$GLOBALFOLDS||test<0f!!2!!0> blist=$GLOBALFOLDS||test<0f!!1!!0> clist=$GLOBALALIST+$GLOBALBLIST renms=$GLOBALCLIST||##rndm<1|8> moves=FOLDC<$GLOBALRENMS//0>||D:\Перебор\ALL\//0 delss=$GLOBALRENMS||1 delss=%WL||1||recycle<1> ;; распаковать выделенные архивы в папку D:\Перебор\ALL\ с условиями:|если в архиве нет ни одной папки или в 1-м уровне есть папки и нет файлов, то распаковка происходит напрямую в папку ALL|если есть хоть одна папка и в 1-м уровне есть файлы, то архив распаковывается в папку ALL в именную папку, по окончанию удалить исходные архивы в корзину

imgpr=1 slist=%WL <FOR> 1 <TO> GLOBALSLIST<0> blist=@GLOBALSLIST<:INDEX:>||##path<4> start=RAR||-IBCK||a||-r||-m0||-ep1||"GLOBALSLIST<:INDEX:>GLOBALBLIST<1>".zip||GLOBALSLIST<:INDEX:>||&&wait <NEXT> ;; упаковать в ZIP, с именем объекта под курсором, структурированное содержимое каждого выделенного каталога, с размещением архивов внутри выделенных каталогов

imgpr=1 slist=%WL xlist=@[tc=TP] folds=GLOBALXLIST<1>||list<$GLOBALSLIST//4>||fflag<0> start=RAR||-IBCK||x||list<%WL>||list2<$GLOBALFOLDS>||&&hide||&&wait alist=$GLOBALFOLDS||test<0f!!2!!0> blist=$GLOBALFOLDS||test<0f!!1!!0> clist=$GLOBALALIST+$GLOBALBLIST renms=$GLOBALCLIST||##rndm<1|8> moves=FOLDC<$GLOBALRENMS//0>||GLOBALXLIST<1>//0 delss=$GLOBALRENMS||1 delss=$GLOBALSLIST||1||recycle<1> ;; распаковать выделенные архивы в панель назначения с условиями:|если в архиве нет ни одной папки или в 1-м уровне есть папки и нет файлов, то распаковка происходит напрямую в панель назначения|если есть хоть одна папка и в 1-м уровне есть файлы, то архив распаковывается в именную папку, по окончанию удалить исходные архивы в корзину

sends=[input=BOX52]??1 slist=FOLDC<%WL//1//-1> blist=$GLOBALSLIST0||$$.zip||"%P"!!"%T" folds="%T"||list<$GLOBALBLIST//10>||fflag<2> start=RAR||-IBCK||a||-ep||-pGLOBALSENDS<1>||list<$GLOBALBLIST>||list2<$GLOBALSLIST>||progres<>||&&wait ;; архивировать все файлы выделенных папок в запароленные ZIP в другую панель каждый в свою папку (т.е. с сохранением структуры) + выбор пароля в диалоге

shape=28 sends=[input=BOX52]|[combo=BOX18]??-4 slist=FOLDC<%WL//1//-1> blist=$GLOBALSLIST0||$$.GLOBALSENDS<2>||"%P"!!"%T" folds="%T"||list<$GLOBALBLIST//10>||fflag<2> start=RAR||-IBCK||a||-ep||-pGLOBALSENDS<1>||list<$GLOBALBLIST>||list2<$GLOBALSLIST>||progres<>||&&wait ;; архивировать все файлы выделенных папок в запароленные ZIP в другую панель каждый в свою папку (т.е. с сохранением структуры) + выбор пароля и типа архива в диалоге

slist=%WL <FOR> 1 <TO> GLOBALSLIST<0> alist=PS<GLOBALSLIST<:INDEX:>//-1//0> blist=@GLOBALSLIST<:INDEX:>||##path<4> zpack=$GLOBALALIST||GLOBALSLIST<:INDEX:>GLOBALBLIST<1>.zip||progres<> <NEXT> ;; упаковать в ZIP, с именем объекта под курсором, структурированное содержимое каждого выделенного каталога, с размещением архивов внутри выделенных каталогов

slist=%WL blist=$GLOBALSLIST||##<info=o73::>.rar||~~!!.||^^"%T" start=RAR||a||-IBCK||-r||-ep1||list<$GLOBALBLIST>||list2<$GLOBALSLIST>||progres<>||&&wait ;; упаковать с помощью WinRar выделенные объекты в другую панель в именные архивы rar (включая вложенные папки) и переименовать созданные архивы (заменить пробел на точку)

slist=%WL blist=$GLOBALSLIST||##<info=o73::>.zip||~~!!.||^^"%T" start=RAR||-IBCK||a||-ep||list<$GLOBALBLIST>||list2<$GLOBALSLIST>||progres<>||&&wait ;; упаковать с помощью WinRar выделенные объекты в другую панель в именные архивы zip и переименовать созданные архивы (заменить пробел на точку)

slist=%WL dlist=$GLOBALSLIST||##path<38> blist=$GLOBALSLIST||##<info=o73::>.rar||~~!!.||^^"%T" start=RAR||a||-IBCK||-r||-apGLOBALDLIST<:NUMBER:|@>||-ep1||list<$GLOBALBLIST>||list2<$GLOBALSLIST>||progres<>||&&wait ;; упаковать с помощью WinRar выделенные объекты в другую панель в именные архивы rar (включая вложенные папки, сохраняя структуру корневой папки) и переименовать созданные архивы (заменить пробел на точку)

slist=%WL||##path<0>||save<%%TCIMG_PATH%%\Files\Lists\BeforeRenaming.txt> global slist=PS<"%P"//1//0>||##path<4>||formt<0!!(?i)[a-zа-яё].*!!> xends=GLOBALSLIST<1>||formt<0!!(?m)([\d]+)(\D).*>||&&.*\d!! <IF> 1 <> <info=t61$GLOBALXENDS[1]> <THEN> xends=_ <ENDIF> blist=$GLOBALXENDS xlist=$GLOBALSLIST||&&\D.*!!||formt<11> <IF> 1 <> <info=t61$GLOBALXLIST[1]> <THEN> bends=000 xlist=$GLOBALBENDS <ENDIF> iends=<info=t60$GLOBALXLIST[1]> aends=GLOBALXLIST<1>||#Sfnc_numplus0 renms=%WL||^^cntr<GLOBALAENDS<1>|1|GLOBALIENDS<1>>GLOBALBLIST<1>||upd<1> creat=%%TCIMG_PATH%%\Files\Lists\||AfterRenaming||content<GLOBALRENMS<t>>||owrite<1> ;; добавить выделенным файлом продолжение счетчика в начало имени (с возможностью отката)

slist=%WL||##path<0>||save<%%TCIMG_PATH%%\Files\Lists\BeforeRenaming.txt> mends=@<info=o72%P%N//> lends=-1||#L1||sdel<>||?A65 vends=GLOBALMENDS<1>+GLOBALLENDS<1>!!-8+ shape=1||1 aends=@[combo=BOX_U29.2] alist=$GLOBALAENDS dends=@[combo=BOX_U4.1] dlist=$GLOBALDENDS bends=@[combo=BOX_U4] blist=$GLOBALBENDS cends=@[combo=BOX_U5] clist=$GLOBALCENDS renms=%WL||[group=BOX_U29]||upd<1> creat=%%TCIMG_PATH%%\Files\Lists\||AfterRenaming||content<GLOBALRENMS<t>>||owrite<1> ;; группа переименований с счетчиком (с возможностью отката)

slist=%WL||save<%%TCIMG_PATH%%\Files\Lists\BeforeRenaming.txt> blist=%WL||##path<6> lends=<info=x10> shape=1 aends=[combo=BOX_U81] bends=[combo=BOX_U4] dends=[combo=BOX_U4.1] cends=[combo=BOX_U5] cmdcm=[group=BOX_U27.2] creat=%%TCIMG_PATH%%\Files\Lists\||AfterRenaming||content<$GLOBALRENMS>||owrite<1> ;; переименовать выделенные объекты: добавить счётчик (уточнения в диалоговом окне), с предварительным просмотром ДО и ПОСЛЕ, с возможностью отката

slist=@C:\Test.bar blist=%WL barjn=$GLOBALBLIST+$GLOBALSLIST||"%t//0//New"||upd<3> ;; объединить выделенные bar файлы, добавив в конец содержимое Test.bar и сохранить новый файл в другой панели с именем New

slist=@C:\Test.bar blist=%WL barjn=$GLOBALSLIST+$GLOBALBLIST||"%t//0//New"||upd<3> ;; к Test.bar добавить содержимое выделенных bar файлов и сохранить новый файл в другой панели с именем New

slist=FOLDC<%WL//1//-1> blist=$GLOBALSLIST0||$$.zip||"%P"!!"%T" folds="%T"||list<$GLOBALBLIST//10>||fflag<2> start=RAR||-IBCK||a||-ep||list<$GLOBALBLIST>||list2<$GLOBALSLIST>||progres<>||&&wait ;; архивировать все файлы выделенных папок в ZIP в другую панель каждый в свою папку (т.е. с сохранением структуры)

slist=PS<%P%N//1//0> GLOBALSLIST<b> blist=$GLOBALARRAY||##<info=o73::>.7z||^^"%T" start=7-ZIP||a||list<$GLOBALBLIST>||list2<$GLOBALARRAY>||progres<>||&&hide||&&wait ;; упаковать с помощью 7-zip в другую панель в именные архивы выбранные в диалоговом окне файлы папки под курсором


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