Описание вспомогательной функции


_CmdCm

Запускает команды TCIMG.

_CmdCm('string')

Параметры

string Команда или серия команд TCIMG прописанных через разделитель <¤>.
  • В командах двойной разделитель || заменяется двойным разделителем ¦¦
  • Если используются глобальные переменные, то имена заменяются на GXLOBALNAME
  • Так же заменяются переменные $var_... на $vxar_...
  • При передачи параметров после < добавляются символы ** , к примеру: <info=...> пишется как <**info=...>

Возвращаемое значение

Успех:1

Примечания

Функция является аналогом команды cmdcm

Функцию можно подключить через команду exect

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


exect=$var_n=1||$var_i=$var_n=1?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример: если $var_n=1 , то выполняется одна команда, в ином случае другая

exect=$var_n=0||$var_i=$var_n=1?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример: если $var_n=0 , то выполняется одна команда, в ином случае другая

exect=$var_n=1||$var_i=$var_n=1?_CmdCm('sends=%P%N??-1¦¦formt<1,63><¤>GLOBALSENDS<a>'):'''' ;; пример: если $var_n=1, то прочитать файл под курсором и вывести в таблице

exect=$var_i=##<info=t1-1>||$var_s=$var_i=4?_CmdCm('rends=-1!!-1¦¦?T|v,1,4¦¦?F63¦¦?E|1:-1'):($var_i>4?_CmdCm('rends=-1!!-1¦¦?T|v,3,5'):_Exit()) GLOBALRENDS<a> ;; если в буфера обмена 4 строки, то выполнить одну команду, если больше 4, то другую, если меньше, то выход

sends=x||##1 GLOBALSENDS<a> exect=$var_i=$GLOBALSENDS[1]=''''?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример выполнения условия: если 1-я ячейка массива GLOBALSENDS пустая, то выполняется 1-я команда, если нет, то 2-я

listx=[tc=AM]||1 <FOR> 1 <TO> GLOBALLISTX<0> slist=$GLOBALLISTX1[:INDEX:]||##<info=o85:://>||^^*||formt<1,63>||inline<!!|!!> zends=@<info=o75GLOBALSLIST0<1>> wlist=PS<GLOBALZENDS<1>//1//-1//GLOBALSLIST<1>>||<dellist=$GLOBALSLIST0|2> xlist=$GLOBALWLIST||##<info=o72:://>||formt<1,serch147,63,21> exect=$var_fail=<info=t61$GLOBALXLIST[1]>||$var_i=$var_fail=0?_CmdCm('xends=1<¤>xlist=$GXLOBALXENDS[1]'):0 renms=$GLOBALSLIST0||##cntr<GLOBALXLIST<1>+|1|1> <NEXT> ;; переименовать выделенные файлы по счетчику, с учетом продолжения номера после последнего пронумерованного файла в этом каталоге (для каждого расширения своя нумерация)

exect=$var_i=StringRight('D:\Test\File.vhd',3)='vhd'?_CmdCm('команда'):_Exit() ;; проверить расширение файла, если совпадает, то запустить заданную команду, в ином случае выход

exect=$var_i=StringInStr('|jpg|gif|png|','|%E|')?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример проверки 3-х расширений, если под курсором расширение совпадает, то выдаётся сообщение №1, если нет - сообщение №2
hends=@<info=o500|MENU.tcg|List1> exect=$var_i='GLOBALHENDS<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 openf=GLOBALHENDS<1>||AkelPad ;; найти MENU.tcg в заданных папках и открыть в AkelPad (если файл не найден, то выдать сообщение и завершить процесс)

hends=@<info=o500|clpget|List1> exect=$var_i='GLOBALHENDS<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 openf=GLOBALHENDS<1>||AkelPad ;; найти файл (имя из буфера обмена) в заданных папках и открыть в AkelPad (если файл не найден, то выдать сообщение и завершить процесс)

exect=$var_ext=##<info=o71%P%N//>||$var_i=StringInStr('ini|db|dll','$var_ext')?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример условия проверки расширения файла под курсором

forpgs slist=[tc=AM] <FOR> 1 <TO> GLOBALSLIST<0> exect=$var_ext=##<info=o71GLOBALSLIST<:INDEX:>>||$var_i=StringInStr('ini|db|dll','$var_ext')?_CmdCm('rends=x¦¦##rndm<3-|10><¤>wends=@<**info=o75GXLOBALSLIST<:INDEX:>><**info=o73GXLOBALSLIST<:INDEX:>>-GXLOBALRENDS<1>.zip<¤>start=RAR¦¦-IBCK¦¦a¦¦-m5¦¦-ms¦¦-cfg-¦¦-s¦¦-rr3p¦¦GXLOBALWENDS<1>¦¦<**info=o73GXLOBALSLIST<:INDEX:>>¦¦&&wait<¤>renmm=GXLOBALWENDS<1>¦¦##<**info=f1GXLOBALWENDS<1>|1>'):_CmdCm('start=RAR¦¦-IBCK¦¦a¦¦-m5¦¦-ms¦¦-cfg-¦¦-s¦¦-rr3p¦¦<**info=o75GXLOBALSLIST<:INDEX:>><**info=o73GXLOBALSLIST<:INDEX:>>-<info=s47>.zip¦¦<**info=o73GXLOBALSLIST<:INDEX:>>¦¦&&wait') <NEXT> tcimg=$cm540 ;; упаковать все файлы с расширением ini, db или dll в отдельный архив с именем хеш суммы, а остальные файлы в архивы с исходным именем + дата в активную панель и 3% на восстановление
exect=$var_n=3||$var_i=($var_n=1~~OR~~$var_n=2~~OR~~$var_n=5)?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример проверки условий с помощью

exect=$var_n=3||$var_i=StringInStr('1|2|5',$var_n)?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример проверки условий с помощью

<PRESW=13> keybd=0~~^c exect=$var_s=StringRegExp(StringLeft(ClipGet(),1),'[а-яё]')?_CmdCm('bufsr=@@QWERTYinENG'):_CmdCm('bufsr=@@QWERTYinRUS') keybd=0~~+{INSERT} <PRESW=1B> :EXIT: <PRESWEND> ;; при нажатии на клавиши "Pause" проверяет буфер обмена: если первая буква русская, то переводит всё содержимое буфера обмена в клавиатурные английские буквы, если нет, то наоборот, затем вставляет текст в активный окно программы

slist=FOLDC<"C:\PathList.txt"//0//1>||<dellist=C:\DelList.txt|5> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infht=-1¦¦Сообщени妦Список~~файлов~~для~~удаления~~пуст¦¦260¦¦70<¤>toexit'):1 exect=$var_n=MsgBox(4+32+262144,'Сообщение','Удалить~~файлы?')||$var_i=$var_n=7?_Exit():1 delss=$GLOBALSLIST||1||recycle<1> beepss ;; удалить все файлы в каталогах из списка путей C:\PathList.txt исключая файлы, чьи имена совпадают с именами из списка имён C:\DelList.txt (в корзину с подтверждением)

slist=PS<"%p"//1//0//prog-new.*.exe|prog-next.*.exe> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файлов~~с~~такими~~именами~~в~~АП~~не~~найден2¦¦370¦¦50<¤>toexit'):1 copyy=%P%N||"%t"//0 beepss ;; копировать файл под курсором в другую панель, если в активной панели есть файлы *.exe имена которых начинаются с "prog-new." или "prog-next.", в противном случае выдать 2-х секундное сообщение

slist=PS<"%p"//1//0//prog-new.*.exe> xlist=PS<"%p"//1//0//prog-next.*.exe> exect=$var_i='GLOBALSLIST<1>'~~AND~~'GLOBALXLIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файлов~~с~~такими~~именами~~в~~АП~~не~~найден2¦¦370¦¦50<¤>toexit'):1 copyy=%P%N||"%t"//0 beepss ;; копировать файл под курсором в другую панель, если в активной панели есть файлы *.exe имена которых начинаются с "prog-new." и "prog-next.", в противном случае выдать 2-х секундное сообщение

slist=PS<"%p"//1//0//prog-new.*.exe> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файлов~~с~~такими~~именами~~в~~АП~~не~~найден2¦¦370¦¦50<¤>toexit'):1 copys=$GLOBALSLIST||"%t"//0 beepss ;; копировать в другую панель все файлы *.exe активной панели чьи базовые имена начинаются с "prog-new.", в случае отсутствия подобных файлов выдать 2-х секундное сообщение

slist=@%P%N||test<1i!!^prog-new.*exe> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файл~~под~~курсором~~не~~подпадает~~под~~услови妦2¦¦400¦¦50<¤>toexit'):1 copyy=GLOBALSLIST<1>||"%t"//0 beepss ;; копировать файл под курсором, если его базовое имя начинается с "prog-new." и он имеет расширение *.exe, в противном случае выдать 2-х секундное сообщение

slist=PS<[tc=TP]//2//-1>||test<1f!!1!!0!!Doc.rtf> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 copys=%WL||x//1||allfold<GLOBALSLIST<t>> ;; копировать выделенные файлы в папки неактивной панели(с рекурсией) содержащих файл Doc.rtf

slist=PS<"%T"//2//-1>||test<1f!!1!!0!!Doc.rtf> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 copys=%WL||x//1||allfold<GLOBALSLIST<t>> beepss ;; копировать выделенные файлы в папки неактивной панели(с рекурсией) содержащих файл Doc.rtf

imgpr=1 slist=PS<"%T"//2//0>||test<1f!!1!!0!!Del.fl> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 xlist=FOLDC<$GLOBALSLIST//0//0>||<dellist=C:\ListOfNames.txt|5> exect=$var_n=MsgBox(4+32+262144,'Сообщение','Удалить~~объекты?')||$var_i=$var_n=7?_Exit():1 delss=$GLOBALXLIST||1 ;; в папках неактивной панели содержащих файл Del.fl удалить все объекты кроме указанных в списке имён из файла C:\ListOfNames.txt (требуется подтверждение удаления)

imgpr=1 slist=PS<"%T"//2//0>||test<1f!!1!!0!!Del.fl> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 xlist=FOLDC<$GLOBALSLIST//0//0>||<dellist=C:\ListOfNames.txt|5> delss=$GLOBALXLIST||1 ;; в папках неактивной панели содержащих файл Del.fl удалить все объекты кроме указанных в списке имён из файла C:\ListOfNames.txt

slist=PS<"%T"//2//0>||test<1f!!1!!0!!Info.txt> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 copys=%WL||x//1||allfold<GLOBALSLIST<t>> beepss ;; копировать выделенные объекты активной панели (с перезаписью) в папки неактивной панели содержащих файл Info.txt

alist=PS<"%p"//1//-1//modin.db> exect=$var_i='GLOBALALIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файл~~''modin.db''~~в~~открытой~~папке~~не~~найден¦¦3¦¦370¦¦50<¤>toexit'):1 slist=PS<"%p"//1//-1//modin.db>||##path<10> <FOR> 1 <TO> GLOBALSLIST<0> pathu=GLOBALSLIST<:INDEX:> <NEXT> ;; открыть в новых вкладках неактивной панели папки активной панели в которых есть файл modin.db, в случае отсутствия файла, выдать сообщение и выйти программы

alist=PS<"%p"//1//-1//modin.db> exect=$var_i='GLOBALALIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файл~~''modin.db''~~в~~открытой~~папке~~не~~найден¦¦3¦¦370¦¦50<¤>toexit'):1 slist=PS<"%p"//1//-1//modin.db>||##path<10> <FOR> 1 <TO> GLOBALSLIST<0> pathb=GLOBALSLIST<:INDEX:> <NEXT> ;; открыть в новых вкладках папки активной панели в которых есть файл modin.db, в случае отсутствия файла, выдать сообщение и выйти программы

alist=PS<"%p"//2//0//date> exect=$var_i='GLOBALALIST<1>'=''''?_CmdCm('infbx=Сообщени妦Папка~~''date''~~в~~активной~~панели~~не~~найденদ3¦¦370¦¦50<¤>toexit'):1 slist=PS<"%p"//1//-1//modin.db>||##path<10> <FOR> 1 <TO> GLOBALSLIST<0> pathb=GLOBALSLIST<:INDEX:> <NEXT> ;; если в активной панели есть папка "date", то открыть в новых вкладках все папки активной панели в которых есть файл modin.db (3-х секундное сообщение, если папка "date" отсутствует)

aends=-1??-1 rends=$GLOBALAENDS??-1||?F54,com1||?T|c,2!!fun_l2 exect=$var_i=##-1 exect=$var_i=##<info=t1-1>||$var_s=$var_i=4?_CmdCm('rends=-1??-1¦¦?T|v,1,4¦¦?F63¦¦?E|1:-1'):($var_i>4?_CmdCm('rends=-1!!-1¦¦?T|v,3,5'):0) vends=TOTALCMD#BAR#DATA@CRLF"%%COMMANDER_PATH%%\TCIMG.exe"@CRLFGLOBALRENDS<x1>@CRLFGLOBALAENDS<x4>@CRLFGLOBALRENDS<x2>??-2 kends=$GLOBALVENDS??-1||?T|a=0,5!!Новая~~кнопка|a=0,4!!shell32.dll,159 sends=PS<$f300\Bar//1//0//*.bar>??-1 GLOBALSENDS<b> barbt=1||-1||GLOBALARRAY<1>||butfrom<GLOBALKENDS<t>> ;; добавить кнопку с параметрами TCIMG (информация из буфера обмена) в конец выбранного *.bar из списка BAR файлов находящихся в папке TC\Bar\

aends=-1??-1 rends=$GLOBALAENDS??-1||?F54,com1||?T|c,2!!fun_l2 exect=$var_i=##-1 exect=$var_i=##<info=t1-1>||$var_s=$var_i=4?_CmdCm('rends=-1??-1¦¦?T|v,1,4¦¦?F63¦¦?E|1:-1'):($var_i>4?_CmdCm('rends=-1!!-1¦¦?T|v,3,5'):0) vends=TOTALCMD#BAR#DATA@CRLF"%%COMMANDER_PATH%%\TCIMG.exe"@CRLFGLOBALRENDS<x1>@CRLFGLOBALAENDS<x4>@CRLFGLOBALRENDS<x2>??-2 kends=$GLOBALVENDS??-1||?T|a=0,5!!Новая~~кнопка|a=0,4!!shell32.dll,159 sends=<info=x50>??-1||&?(?mi)cmd\d+=(.+\.bar)$ GLOBALSENDS<b> barbt=1||-1||GLOBALARRAY<1>||butfrom<GLOBALKENDS<t>> ;; добавить кнопку с параметрами TCIMG (информация из буфера обмена) в конец выбранного BAR файла, который находится на активной панели инструментов

slist=@%P%N||test<1n!!^Win*> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('toexit'):1 copyy=%P%N||"%t"//0 ;; если базовое имя файла под курсором начинается с"Win", то копировать его в другую панель, в противном случае выйти из программы


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