24.11.2022 [31.4] [±] Исправлена ошибка в команде listx в режиме "7" при преобразовании каталогов [+] Оптимизированы параметры (см. Дополнение №24) - исправлена ошибка в режиме "#O", "&?" (при получении части данных "a" и "b") - добавлены режимы "??11", "??12", "#VS", "#VW" [±] Исправлена ошибка в команде arr2d в режимах "49" и "50" [±] Исправлена ошибка в команде renms при переименовании схожих имён [+] Оптимизирован функционал параметра info (см. Дополнение №10) - добавлены режимы "s92", "s301", "n67", "n64", "n65" - в "s108" добавлена разница времени "HH:MM:SS" - оптимизированы режимы "n62" и "n63" - добавлена конвертация до 36-ричной системы счисления [±] Исправлена ошибка в команде runcm в режиме "12" в корне диска + добавлен в режим вывод дескриптора окна в GLOBALRUNCM [±] Исправлена ошибка в команде regex при сохранении шаблона [+] В команду arwcx в параметр replace<> добавлены дополнительные данные [+] В команду plays добавлена поддержка плейлистов или текстовых файлов с треками: asx, dpl, kpl - исправлена ошибка исчезновения плеера при нажатии ПКМ [±] Исправлена ошибка в командах encrd, encry при шифровании файлов более 1 MB [+] Оптимизирован функционал команды cmdbt - в параметр redir<> добавлен подпараметр "3" - в параметр workdir<> добавлена возможность прописывать макросы Autoit типа "@SystemDir"
Код
"tcprm=SELECTFILES||>{Текст}_Текстовые_файлы_ALL tcimg=$cmcm_ExchangeSelection" - выделить все объекты, кроме объектов заданных в шаблоне "{Текст}_Текстовые_файлы_ALL"
"modft="%T%M"||0||<mdata=%P%N> modft="%T%M"||1||<cdata=%P%N> modft="%T%M"||2||<adata=%P%N>" - изменить объекту в другой панели дату модификации, создания и последнего доступа на соответствующие даты объекта под курсором
"anf2d=PS<"%P"//1//0>||1||##@@o1::// arr2d=$GLOBALANF2D||40|1 tcprm=LOADSELECTION||GLOBALARR2D0<t>" - в активной панели выделить файлы отличающиеся по размеру "imgpr=1 anf2d=PS<"%P"//1//0>||1||##@@o1::// arr2d=$GLOBALANF2D||40|1 tcprm=LOADSELECTION||GLOBALARR2D0<t> anf2d=PS<"%T"//1//0>||1||##@@o1::// arr2d=$GLOBALANF2D||40|1 focusp tcprm=LOADSELECTION||GLOBALARR2D0<t>" - в обеих панелях выделить файлы отличающиеся по размеру
"listx=PS<"%P"//2//0>||7||"%P"||"%T"||best<:1:*:2:??0o1::> tcprm=LOADSELECTION||GLOBALLISTX4<t> focusp tcprm=LOADSELECTION||GLOBALLISTX5<t>" - выделить в обеих панелях одноимённые каталоги, которые отличаются по размерам "listx=PS<"%P"//1//0>||7||"%P"||"%T"||best<:1:*:2:??0o1::> tcprm=LOADSELECTION||GLOBALLISTX4<t> focusp tcprm=LOADSELECTION||GLOBALLISTX5<t>" - выделить в обеих панелях одноимённые файлы, которые отличаются по размерам "listx=PS<"%P"//0//0>||7||"%P"||"%T"||best<:1:*:2:??0o1::> tcprm=LOADSELECTION||GLOBALLISTX4<t> focusp tcprm=LOADSELECTION||GLOBALLISTX5<t>" - выделить в обеих панелях одноимённые объекты, которые отличаются по размерам
"listx=PS<"%p"//1//0//*.exe|*.ini|*.cfg|*.txt>||7||"%p"||"%t"||best<:1:*:2:??0f1::> GLOBALLISTX4<a> GLOBALLISTX5<a>" - получить пути файлов *exe,*ini,*cfg и *txt которые НЕ равны по содержимому одноимённым файлам другой панели (сравнение по контрольной сумме MD5) "listx=PS<"%p"//1//0//*.exe|*.ini|*.cfg|*.txt>||7||"%p"||"%t"||best<:1:*:2:??0f1::> tcprm=LOADSELECTION||GLOBALLISTX4<t> focusp tcprm=LOADSELECTION||GLOBALLISTX5<t>" - выделить в обеих панелях файлы *exe,*ini,*cfg и *txt которые НЕ равны по содержимому одноимённым файлам другой панели (сравнение по контрольной сумме MD5)
"renms=%WL||&?(?i)(слово1|Слово2|слово3)||?Ffnc_l2||&&(.+)!![$1]~~||?F57||]~~[!!][||$$@@o72:BEGIN:" - переименовать выделенные файлы по заданному шаблону
"start=Telegram||--||tg://resolve?domain=tcimg" - открыть Telegram и перейти на страницу группы TCIMG
"sends=PS<"%p"//1//0//*.exe|*.ini|*.cfg|*.txt//0//0//2>??-1 GLOBALSENDS<a>" - получить в активной панели список имён заданных типов файлов "sends=PS<"%P"//1//0//*.exe|*.ini|*.cfg|*.txt//0//0//2>??-1 runcm=12||"%P"||$GLOBALSENDS" - получить в активной панели список имён заданных типов файлов, открыть папку в проводнике и выделить найденные файлы
"sends=#https://finance.rambler.ru/currencies/USD\\4??-1||&?>(\$|€)</div>\D+?([\d.]+)!!a1:4 GLOBALSENDS<a>" - получить курс доллара и евро "sends=#https://finance.rambler.ru/currencies/USD\\4??-1||&?>(\$|€)</div>\D+?([\d.]+)||#L1:4 GLOBALSENDS<a>" - получить курс доллара и евро
"arr2d=%WL||10||20|3:0 GLOBALARR2D<a>" - из выделенных объектов получить 3 случайно выбранных путей "arr2d=%WL||10||20|3:0 copys=$GLOBALARR2D||"%t"//0||upd<3>" - из выделенных объектов копировать в другую панель 3 случайно выбранных
"slist=cliplist||^^"%P"||$$.%E GLOBALSLIST<a>" - для имён из буфера обмена создать пути активной панели с расширением файла под курсором
"slist=cliplist||^^"%P"||$$.%E bends=@%P%N??-1||#KGLOBALSLIST<0>~@CRLF!! copys=$GLOBALBENDS||listz<$GLOBALSLIST>||upd<1>" - создать копии файла под курсором в активной панели с именами из буфера обмена с тем же расширением, если файл существует, то добавляется счётчик "slist=cliplist||^^"%P"||$$.%E bends=@%P%N??-1||#KGLOBALSLIST<0>~@CRLF!! copys=$GLOBALBENDS||listz<$GLOBALSLIST>//1||upd<1>" - создать копии файла под курсором в активной панели с именами из буфера обмена с тем же расширением, с заменой имеющихся файлов
"sends=-1??-1 copyy=%P%N||"%P"//0||copyn<GLOBALSENDS<0>> renms=$GLOBALCOPYY1||list<$GLOBALSENDS>||upd<1>" - создать копии файла под курсором в активной панели с именами из буфера обмена с тем же расширением, если файл существует, то добавляется счётчик "sends=-1??-1 copyy=%P%N||"%P"//0||copyn<GLOBALSENDS<0>> renms=$GLOBALCOPYY1||list<$GLOBALSENDS>||rflag<1>||upd<1>" - создать копии файла под курсором в активной панели с именами из буфера обмена с тем же расширением, с заменой имеющихся файлов
"bends=%WL??-1 sends=-1??-1 dends=-1??-1||#KGLOBALBENDS<0>~@CRLF!! copys=%WL||"%P"//0||copyn<GLOBALSENDS<0>> renms=$GLOBALCOPYS1||list<$GLOBALDENDS>||upd<1>" - для выделенных файлов создать копии в активной панели с именами из буфера обмена, если файл существует, то добавляется счётчик "bends=%WL??-1 sends=-1??-1 dends=-1??-1||#KGLOBALBENDS<0>~@CRLF!! copys=%WL||"%P"//0||copyn<GLOBALSENDS<0>> renms=$GLOBALCOPYS1||list<$GLOBALDENDS>||rflag<1>||upd<1>" - для выделенных файлов создать копии в активной панели с именами из буфера обмена, с заменой имеющихся файлов
"sends=<info=s92ACTIVE> GLOBALSENDS<a>" - получить 1, если активное окно запущено "с повышенными правами", иначе - 0 "sends=<info=s92TTOTAL_CMD> GLOBALSENDS<a>" - получить 1, если окно запущено "с повышенными правами", иначе - 0 "sends=<info=s92[REGEXPTITLE:.*Mozilla~~Firefox]> GLOBALSENDS<a>" - - получить 1, если окно запущено "с повышенными правами", иначе - 0 "sends=<info=s92AkelPad.exe> GLOBALSENDS<a>" - получить 1, если процесс запущен "с повышенными правами", иначе - 0
"global runcm=12||"%P"||%WF mxmnz=0||GLOBALRUNCM<1>" - открыть текущий каталог в проводнике на весь экран с выделением объектов выделенных в Total Commander
"sends=-1??-1||?Fpath4 GLOBALSENDS<a>" - из путей в буфере обмена получить только имена файлов "sends=-1??0||&?(?m)^.*\\([^\\]+)$" - из путей в буфере обмена оставить только имена файлов
"exect=$var_i=(<info=o9"%P"MKOFC.DLL>=0~~OR~~<info=o9"%P"MKOFC64.DLL>=0)?MsgBox(4096,'Ошибка','Нет~~файлов')&_Exit():0 infbx=InfoBox_TEST1" - пример: если в активной панели нет одного из заданных файлов, то сообщение и выход из команды "exect=$var_i=<info=o9"%P"MKOFC.DLL>+<info=o9"%P"MKOFC64.DLL>=4?0:MsgBox(4096,'Ошибка','Нет~~файлов')&_Exit() infbx=InfoBox_TEST1" - пример: если в активной панели есть оба заданных файлов, то работа продолжается, иначе сообщение и выход из команды "<IF> <info=o9"%P"MKOFC.DLL> = 0 OR <info=o9"%P"MKOFC64.DLL> = 0 <THEN> infbx=InfoBox17 toexit <ELSE> infbx=InfoBox_TEST1 <ENDIF>" - пример: если в активной панели нет одного из заданных файлов, то сообщение и выход из команды [ifthen]
"arwcx="%t"||CopyTree||replace<4>" - копировать файлы с помощью плагина CopyTree, с заменой всех совпадении объектов [••] [•arhives] "arwcx="%t"||TreeCopyPlus||replace<3>" - копировать файлы с помощью плагина TreeCopyPlus, с заменой всех совпадении объектов [••] [•arhives]
"sends=<info=s108|00:08:16|00:07:24> GLOBALSENDS<a>" - получить разницу между заданным временем "sends=<info=s108|#SISDATE|00:07:24> GLOBALSENDS<a>" - получить дату: от системной даты отнять 7 мин. 24 сек. "sends=<info=s108|00:07:24> GLOBALSENDS<a>" - получить время: от системного времени отнять 7 мин. 24 сек.
"sends=#http://ip-api.com/json anf2d=>GLOBALSENDS<1>||7||''([^'']+)'':''?([^'']+)''?[,}]||$1|$2 GLOBALANF2D<a>" - узнать свой IP, геолокацию провайдера и др.
"lists=%WL||save<C:\ListPot.m3u8!!1>||code<4> start=PotPlayer||C:\ListPot.m3u8" - открыть выделенные медиафайлы файлы в PotPlayer
"sends=%P%N??-1||&?(?m)^\d+\*file\*(.+)$ GLOBALSENDS<a>" - получить список медиафайлов из плейлиста DPL под курсором (PotPlayer)
"anf2d=$f212\Fold.txt||7||(.+)\R+(.+)||$1|$2 dilog=[combo=BOX38] patha=GLOBALANF2D1<GLOBALCOMBN1<1>>" - пример получения из файла имена и пути, в диалоге выбор имени и переход к пути "anf2d=$f212\Fold_2.txt||7||(.+)\R+(.+)\R+(.+)||$1|$2|$3 dilog=[combo=BOX38] patha=GLOBALANF2D1<GLOBALCOMBN1<1>> pause=50 patht=GLOBALANF2D2<GLOBALCOMBN1<1>>" - пример получения из файла имён и путей, в диалоге выбрать имя и перейти по 1-му пути в активной панели, по 2-му пути в неактивной
"sends=<info=s301> GLOBALSENDS<a>" - возвращает 1, если в системе что-то воспроизводится (есть звук), иначе 0 "exect=DllCall('user32.dll','bool','SystemParametersInfoW','uint',93,'uint',7,'struct*',0,'uint',0)||Sleep(5000)||DllCall('user32.dll','bool','SystemParametersInfoW','uint',93,'uint',0,'struct*',0,'uint',0)" - включить след от указателя мыши на 5 секунд
"hends=<info=n62|8|cliplist>??-1 GLOBALHENDS<a> bends=<info=n63|8|$GLOBALHENDS>??-1 GLOBALBENDS<a>" - конвертировать десятичные числа из списка в буфере обмена в восьмеричные и наоборот "hends=<info=n62|2|123456789> GLOBALHENDS<a> bends=<info=n64|2|8|GLOBALHENDS<1>> GLOBALBENDS<a> dends=<info=n64|8|10|GLOBALBENDS<1>> GLOBALDENDS<a>" - конвертировать число в двоичную систему счисления, затем в восьмеричную и обратно в десятичную "sends=<info=n64|8|2|30071> GLOBALSENDS<a> sends=<info=n64|2|10|GLOBALSENDS<1>> GLOBALSENDS<a>" - перевести заданное число из восьмеричной системы в двоичную, из двоичной в десятичную "dends=100,200,300,400,500??-8, GLOBALDENDS<a> hends=<info=n62|2|$GLOBALDENDS>??-1 GLOBALHENDS<a> bends=<info=n63|2|$GLOBALHENDS|,>??-1 GLOBALBENDS<a>" - конвертировать заданные десятичные числа в двоичную систему счисления и обратно "hends=<info=n65|2|11000000111001+11000001000011> GLOBALHENDS<a>" - сложить 2 числа двоичной системы счисления
"hends=<info=n65|2|1100100+11001000+100101100+110010000+111110100> GLOBALHENDS<a>" - сложить заданные числа двоичной системы счисления "hends=<info=n65|2|1100100+11001000+100101100+110010000+111110100|10> GLOBALHENDS<a>" - сложить заданные числа двоичной системы счисления, возвратить результат в десятичной "hends=<info=n65|2|11000000111001*2:10> GLOBALHENDS<a>" - умножить число двоичной системы счисления на 2 "hends=<info=n65|10|30071:8+5|2> GLOBALHENDS<a>" - сложить восьмеричное число и десятичное, возвратить результат в двоичной
"sends=<info=n67|2|0101010111> GLOBALSENDS<a>" - проверяет является ли число двоичной системой счисления "sends=<info=n67|16|FF00FF> GLOBALSENDS<a>" - проверяет является ли число шестнадцатеричной системой счисления "sends=<info=n67|8|30071> GLOBALSENDS<a>" - проверяет является ли число восьмеричной системой счисления
"global cmdbt=query~~user||workdir<@SystemDir>||&&wait||redir<2>||std<8> anf2d=$GLOBALCMDBT||2||(.+?)(?:~~{2,}|\R|\z)||begin<0> GLOBALANF2D<a>" - получить список пользователей системы
"sends=-1??-2||??11 GLOBALSENDS<a>" - перевести буквы из буфера обмена в верхний и нижний регистр в случайном порядке "sends=-1??-2||??12 GLOBALSENDS<a>" - поочередно перевести буквы из буфера обмена в верхний и нижний регистр "sends=-1??-2||#VS GLOBALSENDS<a>" - произвести построчный реверс символов содержимого буфера обмена "sends=-1??-2||#VW GLOBALSENDS<a>" - произвести реверс каждого слова содержимого буфера обмена
Не нашел функционала... Надо разбить папку с 1.5 млн файлами на части. Чтоб хоть как то с ними работать. Желательно по размеру разбить... там картинки вперемешку с большими фотками. Надо как-то отделить, разбить, посмотреть... Тотал командер даже открыть данную папку не может... виснет...
можно ли Вашей утилитой сделать разбивку по 1000 файлов? или может по размеру, до 100 кб, до 300кб, до 500кб, до 1 мб, до 2 мб, до 5 мб, до 10 мб, до 20 мб, до 50 мб, до 100 мб и т.д. и внутри каждой папке так же разбивку по 1000 штук в папке....
Тестовые примеры, которые рекомендую тестировать на папке с разными файлами в количестве 10.000 - 30.000 штук, чтобы понять ка это действует:
Код
"listx=%WL||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A GLOBALLISTX1<a> GLOBALLISTX2<a> GLOBALLISTX3<a> GLOBALLISTX4<a> GLOBALLISTX5<a> GLOBALLISTX6<a> GLOBALLISTX7<a> GLOBALLISTX8<a> GLOBALLISTX9<a> GLOBALLISTX10<a> GLOBALLISTX11<a>" - из выделенных файлов получить файлы по группам, по заданным размерам: 1 - меньше 100 Kb, 2 - меньше 300 Kb, 3 - меньше 500 Kb, ..., 10 - меньше 100 Mb, 11 - все остальные
"sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=%WL||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpgs <FOR> 1 <TO> 11 copys=$GLOBALLISTX:INDEX:||"%t"GLOBALSENDS<:INDEX:>||noprogres<> <NEXT> focusp tcimg=$cm540" - копировать выделенные файлы в другую панель по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER
"sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=%WL||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpg=Копирование~~файлов||TCIMG.dll,26||5||150 <FOR> 1 <TO> 11 copys=$GLOBALLISTX:INDEX:||"%t"GLOBALSENDS<:INDEX:>//0||group<500|3|GLOBALSENDS<:INDEX:>_> <NEXT> focusp tcimg=$cm540" - копировать выделенные файлы в другую панель по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER, в каждой папке распределить файлы по 500 штук каждого размера в папки со счётчиком (появляются несколько прогресс баров для отображения каждого из списков файлов по размерам)
"sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=PS<%P%N//1>||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpg=Копирование~~файлов||TCIMG.dll,26||5||150 <FOR> 1 <TO> 11 copys=$GLOBALLISTX:INDEX:||"%t"GLOBALSENDS<:INDEX:>//0||group<500|3|GLOBALSENDS<:INDEX:>_> <NEXT> focusp tcimg=$cm540" - копировать из папки под курсором все файлы в другую панель по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER, в каждой папке распределить файлы по 500 штук каждого размера в папки со счётчиком (появляются несколько прогресс баров для отображения каждого из списков файлов по размерам)
Основная команда, которая должна пересобрать файлы внутри папки:
Код
TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=PS<%P%N//1>||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpg=Перемещение~~файлов||TCIMG.dll,26||5||150 <FOR> 1 <TO> 11 moves=$GLOBALLISTX:INDEX:||%P%N\GLOBALSENDS<:INDEX:>//0||group<1000|3|GLOBALSENDS<:INDEX:>_> <NEXT> %COMMANDER_PATH%\Wcmicons.dll,1 Переместить из папки под курсором все файлы в ту же папку по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER, в каждой папке распределить файлы по 1000 штук каждого размера в папки со счётчиком (появляются несколько прогресс баров для отображения каждого из списков файлов по размерам)
{HISTORY} 14.12.2022 [31.5] [+] Оптимизирован функционал команды cmdbt - в параметр std<> добавлен режим "1" - добавлен параметр stdwrite<> [±] Исправлена ошибка в команде anf2d в режиме "1" при использовании тега ":NUMBER:" [+] Оптимизированы параметры (см. Дополнение №24) - добавлены режимы "a39" - "a45", "n170", "o350" - добавлено описание для режимов "o26" - "o29", "o46" - "o49", "o66" - "o69" [±] Исправлена ошибка в команде stopm при масштабировании системы [±] В командах maskz и maskx изменён принцип зашифровки и расшифровки файлов (для 'большого файла-носителя') - !!! Ранее запакованные файлы поддерживаться не будут [+] Оптимизирован функционал команды listx - добавлен режим "12" (группировка объектов по заданным размерам) - добавлен параметр progres<> - исправлена ошибка в режиме "4" при большом количестве файлов и удалён 2D массив GLOBALLISTX126 в связи с ограничениями массива - ускорена обработка в режиме "8" (с учётом регистра) [±] Исправлена ошибка в команде "infos=2||25" [+] Оптимизирована команда arr2d - добавлены режимы "83", "84", "85", "86"
Код
"start=C:\AkelPad\AkelPad.exe||/OpenFile('%P%N')||/SaveFile('%P%N',866)||/Quit||&&hide||&&wait||upd<1>" - конвертировать текстовый файл под курсором с помощью AkelPad "global forpgs slist=%WL <FOR> 1 <TO> GLOBALSLIST<0> start=C:\AkelPad\AkelPad.exe||/C-||/B-||/L+||/OpenFile('GLOBALSLIST<:INDEX:>')||/SaveFile('GLOBALSLIST<:INDEX:>',65001,1)||/Quit||&&hide||&&wait <NEXT>" - конвертировать выделенные текстовые файлы с помощью AkelPad.exe в UTF-8 [cycles]
"exect=ObjCreate('Shell.Application').NameSpace('"%T"').CopyHere('%P%N',16)" - копировать "большой" файл под курсором в другую панель с помощью проводника
"global cmdbt=diskpart||workdir<@SystemDir>||std<3>||stdwrite<list~~volume> GLOBALCMDBT<a>" - получить сведения о дисках системы
"uends=x??-1||##rndm<22?3|%WL> GLOBALUENDS<a>" - из выделенных объектов получить 3 случайных пути "uends=x??-1||##rndm<22?3|[tc=AL-1]> GLOBALUENDS<a>" - из объектов активной объектов получить 3 случайных пути
"anf2d="%Pdescript.ion"||7||(?m)^(''[^'']+''|\H+)\h+(.+)$||$1|$2 GLOBALANF2D<a>" - получить в 2D массиве имена файлов и комментарии descript.ion файла в текущей папке
"barjn=LISTF<C:\Test\test_1.bar/C:\Test\test_2.bar>||"%p"//0//New||upd<1>" - склеить 2 bar файла, создав в текущей панели файл New.bar "barjn=LISTF<C:\Test\test_1.bar/<info=x50>>||"%p"//0//New||upd<1>" - склеить test_1.bar и bar активной панели инструментов, создав в текущей файловой панели файл New.bar "barjn=LISTF<<info=x50>/C:\Test\test_1.bar>||"%p"//0//New||upd<1>" - склеить bar активной панели инструментов и test_1.bar, создав в текущей файловой панели файл New.bar
"nfsis=1||Win32_BaseBoard GLOBALNFSIS<a> arr2d=$GLOBALNFSIS||22|0|^(Caption|Manufacturer|Product|SerialNumber|Version)$ GLOBALARR2D<a>" - получить заданные ячейки 2D массива (информация о материнской плате компьютера)
"maskx=%P%N||"%p"//1||12345|AES256||progres<>||upd<1>"- из файла под курсором распаковать в ту же панель зашифрованные файлы, с заменой всех файлов и файла-носителя
"anf2d=C:\Copy.txt||7||(.+)\R+(.+)||$1|$2 sends=%WL??-1||?Fpath5 anf2d=%WL||1||##@@a40$GLOBALANF2D0|GLOBALSENDS<:NUMBER:>|$GLOBALANF2D1[:ITEM:] copys=%WL||listz<$GLOBALANF2D1>//0" - копировать выделенные файлы в папки прописанные в файле C:\Copy.txt, если имена совпадают с начальными фразами в этом же файле.
"listx=PS<%P%N//1>||12||<1M|>1G GLOBALLISTX1<a> GLOBALLISTX2<a>" - в папке под курсором получить файлы размером до 1Mb и файлы более 1Gb "listx=PS<%P%N//1>||12||<1M|>1G|A GLOBALLISTX1<a> GLOBALLISTX2<a> GLOBALLISTX3<a>" - в папке под курсором получить файлы размером до 1Mb, файлы более 1Gb, и все остальные "listx=PS<%P%N//1>||12||?1M-1G|A GLOBALLISTX1<a> GLOBALLISTX2<a>" - в папке под курсором получить файлы размером от 1Mb до 1Gb и все остальные "listx=PS<%P%N//1>||12||<200B|A GLOBALLISTX1<a> GLOBALLISTX2<a>" - в папке под курсором получить файлы размером менее 200 bate и все остальные
"listx=PS<%P%N//1>||12||<1M|>500M|A||progres<> GLOBALLISTX1<a> GLOBALLISTX2<a> GLOBALLISTX3<a>" - в папке под курсором получить файлы размером менее 1Mb, более 500Mb и все остальные
"listx=%WL||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A GLOBALLISTX1<a> GLOBALLISTX2<a> GLOBALLISTX3<a> GLOBALLISTX4<a> GLOBALLISTX5<a> GLOBALLISTX6<a> GLOBALLISTX7<a> GLOBALLISTX8<a> GLOBALLISTX9<a> GLOBALLISTX10<a> GLOBALLISTX11<a>" - из выделенных файлов получить файлы по группам, по заданным размерам: 1 - меньше 100 Kb, 2 - меньше 300 Kb, 3 - меньше 500 Kb, ..., 10 - меньше 100 Mb, 11 - все остальные "sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=%WL||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpgs <FOR> 1 <TO> 11 copys=$GLOBALLISTX:INDEX:||"%t"GLOBALSENDS<:INDEX:>||noprogres<> <NEXT> focusp tcimg=$cm540" - копировать выделенные файлы в другую панель по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER [cycles] "sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=%WL||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpg=Копирование~~файлов||TCIMG.dll,26||5||150 <FOR> 1 <TO> 11 copys=$GLOBALLISTX:INDEX:||"%t"GLOBALSENDS<:INDEX:>//0||group<500|3|GLOBALSENDS<:INDEX:>_> <NEXT> focusp tcimg=$cm540" - копировать выделенные файлы в другую панель по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER, в каждой папке распределить файлы по 500 штук каждого размера в папки со счётчиком (появляются несколько прогресс баров для отображения каждого из списков файлов по размерам) [cycles] "sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=PS<%P%N//1>||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpg=Копирование~~файлов||TCIMG.dll,26||5||150 <FOR> 1 <TO> 11 copys=$GLOBALLISTX:INDEX:||"%t"GLOBALSENDS<:INDEX:>//0||group<500|3|GLOBALSENDS<:INDEX:>_> <NEXT> focusp tcimg=$cm540" - копировать из папки под курсором все файлы в другую панель по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER, в каждой папке распределить файлы по 500 штук каждого размера в папки со счётчиком (появляются несколько прогресс баров для отображения каждого из списков файлов по размерам) [cycles] "sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=PS<%P%N//1>||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpg=Перемещение~~файлов||TCIMG.dll,26||5||150 <FOR> 1 <TO> 11 moves=$GLOBALLISTX:INDEX:||%P%N\GLOBALSENDS<:INDEX:>//0||group<500|3|GLOBALSENDS<:INDEX:>_> <NEXT>" - переместить из папки под курсором все файлы в ту же папку по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER, в каждой папке распределить файлы по 500 штук каждого размера в папки со счётчиком (появляются несколько прогресс баров для отображения каждого из списков файлов по размерам) [cycles]
"sends=||<info=n170|1M> GLOBALSENDS<a>" - преобразовать 1Mb в байты "sends=||<info=n170|100K+100K> GLOBALSENDS<a>" - сложить килобайты и возвратить результат в байтах
"sends=$f212\Listf.txt??-1 GLOBALSENDS<a> slist=$GLOBALSENDS||##<info=o350:://> GLOBALSLIST<a>" - для списка путей получить абсолютные пути с учётом регистра символов "anf2d=$f212\Listf.txt||1||##@@o350::// GLOBALANF2D<a> GLOBALANF2D0<a> GLOBALANF2D1<a>" - для списка путей получить абсолютные пути с учётом регистра символов "sends=||<info=o350C:\WINDOWS\SYSTEM32\DRIVERSTORE//> GLOBALSENDS<a>" - получить абсолютный путь с учётом регистра символов
"delss=<xfolder=25:&3:-3//"%P">||1||recycle<1>||upd<1>" - удалить в текущей панели все файлы без рекурсии (в корзину), кроме 2-х первых и 2-х последних созданных
"sends=@C:\test1\|C:\test2\|C:\test3\??-4 forpgs <FOR> 1 <TO> GLOBALSENDS<0> delss=<xfolder=25:&3:-3//GLOBALSENDS<:INDEX:>>||1||recycle<1> <NEXT>" - удалить в заданных папках все файлы без рекурсии (в корзину), кроме 2-х первых и 2-х последних созданных [cycles]
"start=C:\AkelPad\AkelPad.exe||/OpenFile('%P%N')||/SaveFile('%P%N',866)||/Quit||&&hide||&&wait||upd<1>" - конвертировать файл под курсором с помощью AkelPad
"infos=3||23||Total7zip||%P%N" - получить список путей архива под курсором с помощью плагина Total7zip.wcx [••] [•arhives]
"global cmdbt=''''?7-ZIP?''~~l~~''%P%N'''' anf2d=$GLOBALCMDBT||6||(\d{4}-\d\d-\d\d\h+\H+)\h+(\H+)\h+(\H+)\h+(\H+)\h+(.*)||begin<0> GLOBALANF2D<a>" - получить в 2D массиве информацию архива под курсором с помощью архиватора 7-Zip [••] [•arhives] "global cmdbt=''''?7-ZIP?''~~l~~''%P%N''''||stdcnv<&?(?s)-{8}\R+(.*?)\R+-{8}> anf2d=$GLOBALCMDBT||6||(\d{4}-\d\d-\d\d\h+\H+)\h+(\H+)\h+(\H+)\h+(\H+)\h+(.*)||begin<0> GLOBALANF2D<a>" - получить в 2D массиве информацию только объектов архива под курсором с помощью архиватора 7-Zip [••] [•arhives] "global cmdbt=''''?7-ZIP?''~~l~~''%P%N''''||stdcnv<&?(?s)-{8}\R+(.*?)\R+-{8}> anf2d=$GLOBALCMDBT||6||(\d{4}-\d\d-\d\d\h+\H+)\h+(\H+)\h+(\H+)\h+(\H+)\h+(.*)||begin<0> arr2d=$GLOBALANF2D||21|2|^0$ GLOBALARR2D<a>" - получить в 2D массиве информацию только файлов архива под курсором с помощью архиватора 7-Zip [••] [•arhives] "global cmdbt=''''?7-ZIP?''~~l~~''%P%N''''||stdcnv<&?(?s)-{8}\R+(.*?)\R+-{8}> anf2d=$GLOBALCMDBT||6||(\d{4}-\d\d-\d\d\h+\H+)\h+(\H+)\h+(\H+)\h+(\H+)\h+(.*)||begin<0> arr2d=$GLOBALANF2D||21|2|^0$||1|0 GLOBALARR2D<a>" - получить в 2D массиве информацию только файлов архива под курсором с помощью архиватора 7-Zip, сортировать массив по дате по убыванию [••] [•arhives] "global cmdbt=''''?7-ZIP?''~~l~~''%P%N''''||stdcnv<&?(?s)-{8}\R+(.*?)\R+-{8}> anf2d=$GLOBALCMDBT||6||(\d{4}-\d\d-\d\d\h+\H+)\h+(\H+)\h+(\H+)\h+(\H+)\h+(.*)||begin<0> arr2d=$GLOBALANF2D||21|2|^0$||1|0 dilog=[msgbx=Файл<#>Файл:~~GLOBALARR2D4<1>@CRLFДата:~~GLOBALARR2D0<1><#>user32.dll,102<#>OK<+>1]" - для архива под курсором получить сообщение о самом новом файле в архиве с помощью архиватора 7-Zip [••] [•arhives]
"global cmdbt=''''?WRR?''~~l~~''%P%N'''' GLOBALCMDBT<a>" - получить информацию архива RAR под курсором с помощью архиватора RAR.exe [••] [•arhives]
"sends=PS<D:\Archiv\BacKup\//1//0//&&Redist.*\.(?:7z|7zip|zip|rar)//0//1>??-1 GLOBALSENDS<a>" - получить в заданной папке архивные файлы с именами вида "Redist...14.09.2022.7z" "anf2d=PS<D:\Archiv\BacKup\//1//0//&&Redist.*\.(?:7z|7zip|zip|rar)//0//1>||1||&&.+(\d\d)\.(\d\d)\.(\d{4})\.[^.]+!!$3$2$1 GLOBALANF2D<a>" - получить в заданной папке архивные файлы с именами вида "Redist...14.09.2022.7z"; 2D массив: в 0-й колонке пути, в 1-й колонке дата вида YYYYMMDD "anf2d=PS<D:\Archiv\BacKup\//1//0//&&Redist.*\.(?:7z|7zip|zip|rar)//0//1>||1||&&.+(\d\d)\.(\d\d)\.(\d{4})\.[^.]+!!$3$2$1 arr2d=$GLOBALANF2D||1|1 GLOBALARR2D<a>" - получить в заданной папке архивные файлы с именами вида "Redist...14.09.2022.7z"; 2D массив: в 0-й колонке пути, в 1-й колонке дата вида YYYYMMDD; отсортировать по 1-й колонке по убыванию "anf2d=PS<D:\Archiv\BacKup\//1//0//&&Redist.*\.(?:7z|7zip|zip|rar)//0//1>||1||&&.+(\d\d)\.(\d\d)\.(\d{4})\.[^.]+!!$3$2$1 arr2d=$GLOBALANF2D||1|1 start=7-ZIP||x||GLOBALARR2D0<1>||-o"D:\Test\"||-y||&&wait" - распаковать архив с самой новой датой в имени файла из папки "BacKup" в папку "Test" (имена вида "Redist...14.09.2022.7z") [••] [•arhives]
"sends=zip|rar|7z|ace|arj|cab|gz|jar|lzh|tar|xz|wim??-4 dilog=[combo=BOX36] exect=StringInStr('|7z|zip|tar|wim|','|GLOBALCOMBO<1>|')?1:0 GLOBALEXECT<a>" - выбрать в диалоге тип архива, переменная GLOBALEXECT<1> возвращает 1, если выбран тип 7z, zip, tar, wim или в ином случае 0 "sends=zip|rar|7z|ace|arj|cab|gz|jar|lzh|tar|xz|wim??-4 dilog=[combo=BOX36] <IF> Execute(StringInStr('|7z|zip|tar|wim|','|GLOBALCOMBO<1>|')) > 0 <THEN> infbx=||YES||3||170||60 <ELSE> infbx=||NO||3||170||60 <ENDIF>" - выбрать в диалоге тип архива, если выбран тип 7z, zip, tar, wim - то вывести сообщение "YES", в ином случае "NO" [ifthen] "sends=zip|rar|7z|ace|arj|cab|gz|jar|lzh|tar|xz|wim??-4 dilog=[combo=BOX36] sends=@C:\rar_xx start=%%COMMANDER_PATH%%\Programs\Arhive\WinRAR\WinRAR.exe||x||%P%N||GLOBALSENDS<1>\||&&wait exect=$var_i=GLOBALPROGR<1>=0?0:_CmdCm('delsm=GLOBALSENDS<1>¦¦1')+MsgBox(4096,'Ошибка','Ошибка~~№~~GLOBALPROGR<1>'&@CR&'Работа~~прервана!')+_Exit() start=%%COMMANDER_PATH%%\Plugins\wcx\Total7zip\7zG.exe||a||-ad||"%t%O".GLOBALCOMBO<1>||GLOBALSENDS<1>\*||&&wait delsm=GLOBALSENDS<1>||1||upd<3>" - архив под курсором распаковать во временную папку "C:\rar_xx" с помощью WinRAR и запаковать объекты в другую панель в именной архив и удалить временную папку (тип архива вводится в диалоге) с помощью 7zG.exe, если при распаковке какая-либо ошибка, то выдаётся сообщение и работа прекращается [••] [•arhives] Ternary() "sends=zip|rar|7z|ace|arj|cab|gz|jar|lzh|tar|xz|wim??-4 dilog=[combo=BOX36] sends=@C:\rar_xx start=%%COMMANDER_PATH%%\Programs\Arhive\WinRAR\WinRAR.exe||x||%P%N||GLOBALSENDS<1>\||&&wait exect=$var_i=GLOBALPROGR<1>=0?0:_CmdCm('delsm=GLOBALSENDS<1>¦¦1')+MsgBox(4096,'Ошибка','Ошибка~~№~~GLOBALPROGR<1>'&@CR&'Работа~~прервана!')+_Exit() exect=StringInStr('|7z|zip|tar|wim|','|GLOBALCOMBO<1>|')?1:0 <IF> GLOBALEXECT<1> = 1 <THEN> start=%%COMMANDER_PATH%%\Plugins\wcx\Total7zip\7zG.exe||a||-ad||"%t%O".GLOBALCOMBO<1>||GLOBALSENDS<1>\*||&&wait <ELSE> start=%%COMMANDER_PATH%%\Programs\Arhive\WinRAR\WinRAR.exe||a||-r||-ep1||"%t%O".GLOBALCOMBO<1>||GLOBALSENDS<1>\||GLOBALSENDS<1>\*||&&wait <ENDIF> delsm=GLOBALSENDS<1>||1||upd<3>" - архив под курсором распаковать во временную папку "C:\rar_xx" с помощью WinRAR и запаковать объекты в другую панель в именной архив и удалить временную папку (тип нового архива вводится в диалоге); для упаковки 7z, zip, tar, wim используется 7zG.exe, в ином случае WinRAR; если при распаковке появляется какая-либо ошибка, то выдаётся сообщение и работа прекращается [••] [•arhives] Ternary() [ifthen]
"sends=1,2,3,4,5,6,7,8,9??-8, GLOBALSENDS<a> arr2d=$GLOBALSENDS||25|9||83|3,6 GLOBALARR2D<a>" - размножить массив 9 раз и перемешать данные в 3-й и 6-й колонках "sends=1,2,3,4,5,6,7,8,9??-8, GLOBALSENDS<a> arr2d=$GLOBALSENDS||25|9||83|0:3 GLOBALARR2D<a>" - размножить массив 9 раз и перемешать данные в колонках от 0-й до 3-й
"sends=1,2,3,4,5,6,7,8,9??-8, GLOBALSENDS<a> arr2d=$GLOBALSENDS||25|9||14 GLOBALARR2D<a>" - размножить массив 9 раз и транспонировать "sends=1,2,3,4,5,6,7,8,9??-8, GLOBALSENDS<a> arr2d=$GLOBALSENDS||25|9||14||84|3,6 GLOBALARR2D<a>" - размножить массив 9 раз, транспонировать и перемешать данные 3-й и 6-й строки "sends=1,2,3,4,5,6,7,8,9??-8, GLOBALSENDS<a> arr2d=$GLOBALSENDS||25|9||14||84|1:5 GLOBALARR2D<a>" - размножить массив 9 раз, транспонировать и перемешать данные строк от 1-й до 5-й
"sends=1,2,3,4,5,6,7,8,9,10,11??-8, GLOBALSENDS<a> arr2d=$GLOBALSENDS||25|9||85|3,6 GLOBALARR2D<a>" - размножить массив 9 раз и реверсировать данные 3-й и 6-й колонках "sends=1,2,3,4,5,6,7,8,9,10,11??-8, GLOBALSENDS<a> arr2d=$GLOBALSENDS||25|9||85|0:3 GLOBALARR2D<a>" - размножить массив 9 раз и реверсировать данные в колонках от 0-й до 3-й
"sends=1,2,3,4,5,6,7,8,9??-8, GLOBALSENDS<a> arr2d=$GLOBALSENDS||25|9||14||86|3,6 GLOBALARR2D<a>" - размножить массив 9 раз и транспонировать и реверсировать данные 3-й и 6-й строках "sends=1,2,3,4,5,6,7,8,9??-8, GLOBALSENDS<a> arr2d=$GLOBALSENDS||25|9||14||86|1:3 GLOBALARR2D<a>" - размножить массив 9 раз и транспонировать и реверсировать данные в строках от 1-й и 3-й
vruzin, Обновитесь: Тестовая версия TCIMG 315_b4, в версии TCIMG 31.4 замените соответствующие файл(ы)
[КОД:] Выделить весь код [+] В команду listx добавлен режим "12" (группировка объектов по заданным размерам)
Описание listx
Тестовые примеры, которые рекомендую тестировать на папке с разными файлами в количестве 10.000 - 30.000 штук, чтобы понять ка это действует:
[КОД:] Выделить весь код "listx=%WL||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A GLOBALLISTX1<a> GLOBALLISTX2<a> GLOBALLISTX3<a> GLOBALLISTX4<a> GLOBALLISTX5<a> GLOBALLISTX6<a> GLOBALLISTX7<a> GLOBALLISTX8<a> GLOBALLISTX9<a> GLOBALLISTX10<a> GLOBALLISTX11<a>" - из выделенных файлов получить файлы по группам, по заданным размерам: 1 - меньше 100 Kb, 2 - меньше 300 Kb, 3 - меньше 500 Kb, ..., 10 - меньше 100 Mb, 11 - все остальные
"sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=%WL||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpgs <FOR> 1 <TO> 11 copys=$GLOBALLISTX:INDEX:||"%t"GLOBALSENDS<:INDEX:>||noprogres<> <NEXT> focusp tcimg=$cm540" - копировать выделенные файлы в другую панель по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER
"sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=%WL||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpg=Копирование~~файлов||TCIMG.dll,26||5||150 <FOR> 1 <TO> 11 copys=$GLOBALLISTX:INDEX:||"%t"GLOBALSENDS<:INDEX:>//0||group<500|3|GLOBALSENDS<:INDEX:>_> <NEXT> focusp tcimg=$cm540" - копировать выделенные файлы в другую панель по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER, в каждой папке распределить файлы по 500 штук каждого размера в папки со счётчиком (появляются несколько прогресс баров для отображения каждого из списков файлов по размерам)
"sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=PS<%P%N//1>||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpg=Копирование~~файлов||TCIMG.dll,26||5||150 <FOR> 1 <TO> 11 copys=$GLOBALLISTX:INDEX:||"%t"GLOBALSENDS<:INDEX:>//0||group<500|3|GLOBALSENDS<:INDEX:>_> <NEXT> focusp tcimg=$cm540" - копировать из папки под курсором все файлы в другую панель по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER, в каждой папке распределить файлы по 500 штук каждого размера в папки со счётчиком (появляются несколько прогресс баров для отображения каждого из списков файлов по размерам)
Основная команда, которая должна пересобрать файлы внутри папки:
[КОД:] Выделить весь код TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe sends=100K|300K|500K|1M|2M|5M|10M|20M|50M|100M|OTHER??-4 listx=PS<%P%N//1>||12||<100K|<300K|<500K|<1M|<2M|<5M|<10M|<20M|<50M|<100M|A forpg=Перемещение~~файлов||TCIMG.dll,26||5||150 <FOR> 1 <TO> 11 moves=$GLOBALLISTX:INDEX:||%P%N\GLOBALSENDS<:INDEX:>//0||group<1000|3|GLOBALSENDS<:INDEX:>_> <NEXT> %COMMANDER_PATH%\Wcmicons.dll,1 Переместить из папки под курсором все файлы в ту же папку по размерам в соответствующие папки 100Kb, 300Kb, 500Kb, 1Mb, 2Mb, 5Mb, 10Mb, 20Mb, 50Mb, 100Mb, OTHER, в каждой папке распределить файлы по 1000 штук каждого размера в папки со счётчиком (появляются несколько прогресс баров для отображения каждого из списков файлов по размерам)
0 -1
.
СУПЕР! Спасибо громадное!!! Файлов много, делает долго, но это лучшее решение! Огромнейшее спасибо!
26.12.2022 [31.6] [+] В маске "не учитывать регистр" добавлено для всех символов (не только для латинских) см. Дополнение №22 [+] В команду dilog добавлена обработка параметра xfolder [+] В параметр xfolder добавлен вывод списков в глобальные переменные GLOBALXFOLD, GLOBALXFOLD0, GLOBALXFOLD1 [±] Исправлена ошибка в команде buttn в параметре "$k" - в режим добавлены теги @W, @H, @PW, @PH [+] Оптимизирована функция _GTR(), параметр tran<> в команде renms и параметр "?6" (см. Дополнение №24) - добавлен код перевода Yandex и MyMemory, исправлены мелкие ошибки парсинга текста - в TCIMG.ini в секцию [Setting] добавлен ключ YandexKey [+] Оптимизирована команда symxx - добавлены параметры noprogres<> и xpath<> - добавлена возможность передавать список через cliplist, $GLOBALNAME, файл - добавлена глобальная переменная GLOBALSYMXX - исправлены мелкие ошибки координат при прогресс баре [+] Оптимизирован функционал параметра test<> (см. Дополнение №16) - добавлены режимы "4g" и "5g" [±] Исправлена ошибка при передачи полных путей в которых есть двойные апострофы и двойные тильды [+] Оптимизированы параметры (см. Дополнение №10) - добавлены режимы "n197", "n198", "n187", "n188" [±] Исправлена ошибка в команде genwd при использовании режима "подобрать слова по маске"
Код
"copyy=%WL||"%t"//0||##List||**0!!txt||upd<3>" - создать в другой панели файл Name.txt со списком выделенных файлов в активной панели "creat="%t"||List.txt||content<%WL>||code<3>||upd<3>" - создать в другой панели файл Name.txt со списком выделенных файлов в активной панели "slist=%WL||save<"%t"List.txt>||code<3>||upd<3>" - создать в другой панели файл Name.txt со списком выделенных файлов в активной панели
"anf2d=$f212\Command.txt||7||(.+)\R+(.+)||$1|$2 dilog=[combo=BOX39] cmdcm=GLOBALANF2D1<GLOBALCOMBN1<1>>" - пример получения из файла имён команд для запуска, при выборе запуск соответствующей команды
"slist=PS<%%TEMP%%//1//0>||test<4x!!#SISDATE!!-d5> GLOBALSLIST<a>" - в папке Temp получить список файлов, дата создания которых более 5 дней "slist=PS<%%TEMP%%//1//0>||test<2x!!#SISDATE!!-d5> textv=GLOBALSLIST<t>||viewtext<List|0|0|0|0|Consolas>||pos<1>" - в папке Temp получить список файлов, дата модификации которых более 5 дней и открыть в просмотрщике "slist=PS<%%TEMP%%//1//0>||test<2x!!#SISDATE!!-d5> start=AkelPad||GLOBALSLIST<t>" - в папке Temp получить список файлов, дата модификации которых более 5 дней и открыть в AkelPad "slist=PS<%%TEMP%%//2//0>||test<4x!!#SISDATE!!-d5> GLOBALSLIST<a>" - в папке Temp получить список каталогов, дата создания доступа которых более 5 дней "slist=PS<%%TEMP%%//1//0>||test<4x!!#SISDATE!!-d[input=BOX98]> GLOBALSLIST<a>" - получить список файлов в заданной папке, дата создания которых более 5 дней (день вводится в диалоге) "slist=PS<%%TEMP%%//2//0>||test<4x!!#SISDATE!!-d[input=BOX98]> GLOBALSLIST<a>" - получить список каталогов в заданной папке, дата создания которых более 5 дней (день вводится в диалоге) "slist=PS<%%TEMP%%//1//0>||test<4x!!#SISDATE!!-d[input=BOX98]> GLOBALSLIST<a> arr2d=$GLOBALSLIST||20|3 GLOBALARR2D<a>" - получить 3 файла в заданной папке, дата создания которых более 5 дней (день вводится в диалоге) "shape=35 dilog=[input=BOX98][input=BOX99][input=BOX100] slist=PS<%%TEMP%%//1//0>||test<4x!!#SISDATE!!-dGLOBALINPUT<1>> arr2d=$GLOBALSLIST||20|GLOBALINPUT<2> delss=$GLOBALARR2D0||1 slist=PS<%%TEMP%%//2//0>||test<4x!!#SISDATE!!-dGLOBALINPUT<1>> arr2d=$GLOBALSLIST||20|GLOBALINPUT<3> delss=$GLOBALARR2D0||1" - удалить из папки Temp файлы и каталоги старше N дней (количество дней и количество удаляемых объектов вводится в диалоге) "shape=35 dilog=[input=BOX98][input=BOX99][input=BOX100] slist=PS<%%TEMP%%//1//0>||test<4x!!#SISDATE!!-dGLOBALINPUT<1>> arr2d=$GLOBALSLIST||20|GLOBALINPUT<2> delss=$GLOBALARR2D0||1||recycle<1> slist=PS<%%TEMP%%//2//0>||test<4x!!#SISDATE!!-dGLOBALINPUT<1>> arr2d=$GLOBALSLIST||20|GLOBALINPUT<3> delss=$GLOBALARR2D0||1||recycle<1>" - удалить в корзину из папки Temp файлы и каталоги старше N дней (количество дней и количество удаляемых объектов вводится в диалоге)
"dilog=<xfolder=-1//"%p"> GLOBALXFOLD<a> GLOBALXFOLD0<a> GLOBALXFOLD1<a>" - получить список файлов в активной панели, отсортированный по дате модификации
"start=notepad buttn=[CLASS:Notepad]||x|$v|$f|$k@W-300:40:250:200" - переместить окно Notepad в заданное положение и изменить размеры
"renms=%WL||tran<en|ru|2>||upd<1>" - переименовать базовое имя выделенных элементов - перевод английский в русский с помощью Yandex (требуется подключение к интернету) "renms=%WL||tran<ru|en|2>||upd<1>" - переименовать базовое имя выделенных элементов - перевод английский в русский с помощью Yandex (требуется подключение к интернету) "exect=$var_s=_GTR('утилита','ru|en',0,2)||_ViewValues('$var_s')" - перевести слово "утилита" в Yandex (требуется подключение к интернету) "sends=-1??-1||?6|ru|en|2 GLOBALSENDS<a>" - перевести содержимого буфера обмена с русского на английский в Yandex (требуется подключение к интернету)
"renms=%WL||tran<en|ru|3>||upd<1>" - переименовать базовое имя выделенных элементов - перевод английский в русский с помощью MyMemory (требуется подключение к интернету) "renms=%WL||tran<ru|en|3>||upd<1>" - переименовать базовое имя выделенных элементов - перевод английский в русский с помощью MyMemory (требуется подключение к интернету) "exect=$var_s=_GTR('утилита','ru|en',0,3)||_ViewValues('$var_s')" - перевести слово "утилита" в MyMemory (требуется подключение к интернету) "sends=-1??-1||?6|ru|en|3 GLOBALSENDS<a>" - перевести содержимого буфера обмена с русского на английский в MyMemory (требуется подключение к интернету)
"shape=4 textx=PS<"%p"//1//-1//*.[input=BOX58]>||[edits=BOX8]||upd<1>" - найти заданные файлы с рекурсией и произвести в них поиск и замену, расширение и данные поиска вводятся в диалоге
"symxx=RedYellow||ABCD||noprogres<>||upd<1>" - создать изображения по шаблону RedYellow для каждого символа строки "ABCD" без прогресс бара [••] [•image] "symxx=RedYellow||cliplist||upd<1>" - создать изображения по шаблону RedYellow для каждой строки из буфера обмена [••] [•image] "sends=55|66|77|88??-4 symxx=RedYellow||$GLOBALSENDS||upd<1>" - создать изображения по шаблону RedYellow для каждого элемента массива GLOBALSENDS [••] [•image] "symxx=RedYellow||C:\List.txt||upd<1>" - создать изображения по шаблону RedYellow для каждой строки заданного файла [••] [•image] "sends=55|66|77|88??-4 symxx=RedYellow||$GLOBALSENDS||noprogres<>||upd<1>" - создать изображения по шаблону RedYellow для каждого элемента массива GLOBALSENDS без прогресс бара [••] [•image] "sends=55|66|77|88??-4 symxx=RedYellow2||$GLOBALSENDS||noprogres<>||xpath<C:\Test_RedYellow>" - создать изображения по шаблону RedYellow2 для каждого элемента массива GLOBALSENDS без прогресс бара в заданную папку [••] [•image] "global symxx=RedYellow||ABCD||noprogres<>||xpath<C:\Test_RedYellow> GLOBALSYMXX<a>" - создать изображения по шаблону RedYellow для каждого символа строки "ABCD" без прогресс бара в заданную папку и записать созданные пути в глобальную переменную [••] [•image]
"copys=%WL||"%t"//0||test<4g!!(?i).*Rock.*!!0!!Genre>" - копировать выделенные аудиофайлы в другую панель в теге Genre есть слово "Rock" "copys=%WL||"%t"//0||test<5g!!(?i).*Rock.*!!0!!Genre>" - копировать выделенные аудиофайлы в другую панель в теге Genre нет слова "Rock"
"sends=@C:\EPUB_PAK\ start=7-ZIP||x||-oGLOBALSENDS<1>||%P%N||&&hide||&&wait slist=PS<GLOBALSENDS<1>//1//-1//*.jpg|*.jpeg|*.png>||test<17m!!600> imgcn=$GLOBALSLIST||x//1||resize<6,-50%%>||quality<75> start=7-ZIP||a||"%t%O".epub||GLOBALSENDS<1>*||&&hide||&&wait delsm=GLOBALSENDS<1>||1||upd<3>" - распаковать файл epub под курсором, найти изображения более 600px и уменьшить их в 2 раза, далее упаковать в другую панель (перепаковать epub уменьшив размеры изображений) [••] [•arhives] [••] [•image] "sends=@C:\EPUB_PAK\ start=7-ZIP||x||-oGLOBALSENDS<1>||%P%N||&&hide||&&wait slist=PS<GLOBALSENDS<1>//1//-1//*.jpg|*.jpeg|*.png>||test<17m!!800> imgcn=$GLOBALSLIST||x//1||resize<6,800>||quality<80> start=7-ZIP||a||"%t%O".epub||GLOBALSENDS<1>*||&&hide||&&wait delsm=GLOBALSENDS<1>||1||upd<3>" - распаковать файл epub под курсором, найти изображения более 800px и уменьшить их по большей стороне до 800px, далее упаковать в другую панель (перепаковать epub уменьшив размеры изображений) [••] [•arhives] [••] [•image]
"start=7-ZIP||x||-o"%t"||%P%N||&&hide||&&wait||upd<3>" - распаковать архив под курсором в другую панель [••] [•arhives] "start=7-ZIP||a||"%t%O".epub||%P%N\*||&&hide||&&wait||upd<3>" - упаковать содержимое папки под курсором в архив EPUB в другую панель именем папки [••] [•arhives]
"slist=PS<"%p"//1//-1//*.jpg|*.jpeg|*.png>||test<17m!!900> GLOBALSLIST<a>" - в текущей папке с рекурсией найти изображения большая сторона больше 900px [••] [•image]
"imgcn=%WL||"%t"//0||resize<6,-50%%>||quality<75>||upd<3>" - выделенные файлы уменьшить в 2 раза сохранив в другую панель [••] [•image] "imgcn=%WL||"%p"//1||resize<6,-50%%>||quality<75>||upd<1>" - выделенные файлы уменьшить в 2 раза заменив исходные [••] [•image]
"start=7-ZIP||x||%P%N||-o"%t"||content.opf||-r||&&hide||&&wait||upd<3>" - распаковать из архива EPUB под курсором один файл в другую панель (поиск с рекурсией) [••] [•arhives] "start=7-ZIP||e||%P%N||-o"%t"||content.opf||-r||&&hide||&&wait||upd<3>" - распаковать из архива EPUB под курсором один файл в другую панель без пути (поиск с рекурсией) [••] [•arhives] "start=7-ZIP||e||%P%N||-o"%t"||content.opf||-r||-aoa||&&hide||&&wait||upd<3>" - распаковать из архива EPUB под курсором один файл в другую панель без пути с перезаписью файлов (поиск с рекурсией) [••] [•arhives] "start=7-ZIP||x||%P%N||-o"%t"||*.html||&&hide||&&wait||upd<3>" - распаковать из архива под курсором файлы html другую панель (без рекурсии) [••] [•arhives] "start=7-ZIP||x||%P%N||-o"%t"||*.html||*.xml||-r||&&hide||&&wait||upd<3>" - распаковать из архива под курсором файлы html и xml другую панель (с рекурсией) [••] [•arhives]
"start=RAR||-IBCK||-INUL||x||%P%N||"%T"||*.opf||&&wait||upd<3>" - распаковать из архива EPUB под курсором один файл с сохранением полных путей [••] [•arhives] "start=RAR||-IBCK||-INUL||e||%P%N||"%T"||*.opf||&&wait||upd<3>" - распаковать из архива EPUB под курсором один файл без полных путей [••] [•arhives]
"start=7-ZIP||e||%P%N||-o$f254\||content.opf||-r||-aoa||&&hide||&&wait sends=$f254\content.opf??-1 GLOBALSENDS<a>" - получить из архива EPUB под курсором содержимое файла content.opf [••] [•arhives] "start=7-ZIP||e||%P%N||-o$f254\||content.opf||-r||-aoa||&&hide||&&wait sends=$f254\content.opf??-1||&?<dc:(?:title|creator)[^<>]*>([^<>]*)!!3!!1!!- renmm=%P%N||GLOBALSENDS<1>||upd<1>" - переименовать EPUB файл под курсором информацией из тегов title и creator [••] [•arhives]
"imgpr=1 copys=%WL||x//1||allfold<PS<"%t"//2//0>>||noprogres<>" - копировать выделенные объекты во все папки противоположной панели с заменой
"carry=''каталог1''\''каталог2''\''каталог3'' folds="%p"||GLOBALCARRY<1>||fflag<2>||jump<3>" - в текущей панели создать каталоги с двойными одинарными кавычками (апострофами) и перейти в него
"sends=%P%N||?Ffnc_sup1 GLOBALSENDS<a> bends=GLOBALSENDS<1>||?Ffnc_sup2 GLOBALBENDS<a>" - получить содержимое htm файла под курсором и кодировать/декодировать Base64 данные между тегами "<sup>"
"sends=>n197|приветт??-1 GLOBALSENDS<a>" - получить анаграммы строки "приветт" "sends=>n197|приветт|0|100??-1 GLOBALSENDS<a>" - получить 100 анаграмм строки "приветт", "sends=>n197|приветт|0|0|Null|#??-1 GLOBALSENDS<a>" - получить анаграммы строки "приветт", вставив между символами "#" "sends=>n197|приветт|1??-1 GLOBALSENDS<a>" - получить анаграммы строки "приветт", игнорируя одинаковые символы
"sends=>n197|100-200-300-400|0|0|-??-1 GLOBALSENDS<a>" - получить анаграммы фраз "100-200-300-400" между разделителем "-" "sends=>n197|100-200-300-400|0|5|-??-1 GLOBALSENDS<a>" - получить 5 анаграмм фраз "100-200-300-400" между разделителем "-" "sends=>n197|100-200-300-400|0|0|-|+??-1 GLOBALSENDS<a>" - получить анаграммы фраз "100-200-300-400" между разделителем "-", заменив разделитель на "+"
"sends=>n198|приветт GLOBALSENDS<a>" - получить количество анаграмм для строки "sends=>n198|приветт|1 GLOBALSENDS<a>" - получить количество анаграмм для строки, игнорируя одинаковые символы "sends=>n198|100-200-300-400-100|0|- GLOBALSENDS<a>" - получить количество анаграмм для фраз между разделителем "-" "sends=>n198|100-200-300-400-100|1|- GLOBALSENDS<a>" - получить количество анаграмм для фраз между разделителем "-", игнорируя одинаковые фразы
"sends=>n187|12345|3|3??-1 GLOBALSENDS<a>" - из строки "12345" получить перебор номеров без повторов чисел в строке, длина строки 3 "sends=>n187|12345|3|3|0|1??-1 GLOBALSENDS<a>" - из строки "12345" получить перебор номеров с повторами чисел в строке, длина строки 3 "sends=>n187|A\B\C\D|6|6|0|1|0|\??-1 GLOBALSENDS<a>" - из строки "A\B\C\D" (разделитель "\") получить перебор всех элементов, длина строки 6 "sends=>n9|100|950|50 GLOBALSENDS<a> bends=>n187|GLOBALSENDS<1>|2|2|0|1|0|,|x??-1 GLOBALBENDS<a>" - получить числа от 100 до 950 с шагом 50 и перебрать все варианты пар с повторами в строке с разделителем "x" "sends=>n9|100|950|50 GLOBALSENDS<a> bends=>n187|GLOBALSENDS<1>|3|3|0|0|0|,|:??-1 GLOBALBENDS<a>" - получить числа от 100 до 950 с шагом 50 и перебрать все варианты трёх чисел без повторов в строке с разделителем ":"
"sends=>n187|12345§§A*B*C*??-1 GLOBALSENDS<a>" - вместо "*" в строке "A*B*C" вставить все варианты символов из строки "12345" без повторов
"sends=>n188|12345|3|3??-1 GLOBALSENDS<a>" - получить количество вариантов перебора строки "12345" с заданными параметрами "sends=>n188|ABCDE|3|10|0|1??-1 GLOBALSENDS<a>" - получить количество вариантов перебора строки "ABCDE" с заданными параметрами
09.01.2023 [31.7] [+] Оптимизирован функционал команды infos - добавлен режим "infos=2||37||Process" - информация окон процесса [+] Оптимизирована команда words - добавлен режим "#" для проверки списка слов - добавлена глобальная переменная GLOBALWORDS1 - модифицирована функция "GetSpellCheck" в Func.vbs [+] Оптимизированы параметры (см. Дополнение №10) - добавлены режимы "h3", "n250", "n251" - в режимы "a39" - "a45" добавлены в вывод результатов данные нескольких массивов, функции Autoit и возвращение пустой строки - исправлена ошибка в режиме "m39" [+] Оптимизирован функционал команды runcm - добавлен режим "15" - переход в TC в каталог окна проводника с выделением объектов [+] В команду cmdcm добавлен запуск команд из массива $GLOBALNAME [+] В команду cmdbt и start добавлены Autoit макросы [+] В команду anf2d добавлен режим "11" - распределение 2D массива по одинаковым фразам [+] Оптимизирован параметр formt<> (см. Дополнение №15) - добавлена запись тега ":A:" после или до номера/ключа [+] В команду exicn добавлена поддержка относительных путей во 2-м параметре [+] Оптимизирован диалог [image] - добавлена глобальная переменная GLOBALIMAGE0 - добавлены параметры: без рамки, без надписи, без подсказок - исправлена ошибка перерисовки нескольких диалогов [image] при использовании shape
Код
"imgpr=1 cmdbt=takeown~~/F~~*~~/R||&&wait cmdbt=icacls~~*~~/RESET~~/T~~/C||&&wait" - в текущем каталоге сбросить текущие разрешения на объектах файловой системы "imgpr=1 cmdbt=takeown~~/F~~*~~/R~~&&~~icacls~~*~~/RESET~~/T~~/C||&&wait" - в текущем каталоге сбросить текущие разрешения на объектах файловой системы "global cmdbt=takeown~~/F~~*~~/R~~&&~~icacls~~*~~/RESET~~/T~~/C||std<8> GLOBALCMDBT<a>" - в текущем каталоге сбросить текущие разрешения на объектах файловой системы и вывести отчёт в глобальной переменной "imgpr=1 cmdbt=takeown~~/F~~*~~/R~~&&~~icacls~~*~~/RESET~~/T~~/C||workdir<D:\Folder\>||&&wait" - в заданном каталоге сбросить текущие разрешения на объектах файловой системы
"infos=2||37||TTOTAL_CMD" - получить список дочерних окон Total Commander
"words=#%P%N GLOBALWORDS<a> GLOBALWORDS1<a>" - проверить слова из файла под курсором орфографию слов с помощью Microsoft Word, записать неправильные и правильные слова в глобальные переменные "sends=>n187|привет|3|4|0|1??-1 GLOBALSENDS<a> words=#$GLOBALSENDS GLOBALWORDS1<a>" - получить существующие слова с помощью Microsoft Word из генерированного списка слова "привет" (минимальная длина 3, максимальная 4)
"sends=>h3|0 GLOBALSENDS<a>" - получить путь активного окна проводника "sends=>h3|1??-1 GLOBALSENDS<a>" - получить список выделенных файлов в окне проводника "sends=>h3|2??-1 GLOBALSENDS<a>" - получить список выделенных папок в окне проводника "sends=>h3|3??-1 GLOBALSENDS<a>" - получить список выделенных папок и файлов в окне проводника "sends=>h3|4??-1 GLOBALSENDS<a>" - получить список выделенных файлов и папок в окне проводника
"sends=>h3|0 bends=PS<GLOBALSENDS<1>//0//0>??-1 GLOBALBENDS<a>" - получить файлы и папки активного окна проводника
"patha=<info=h3|0>" - в активной панели перейти в каталог полученный из активного окна проводника
"runcm=15||1" - в левой панели в Total Commander перейти в каталог активного окна проводника с выделением объектов "runcm=15||2" - в правой панели в Total Commander перейти в каталог активного окна проводника с выделением объектов "runcm=15||3" - в активной панели в Total Commander перейти в каталог активного окна проводника с выделением объектов "runcm=15||4" - в другой панели в Total Commander перейти в каталог активного окна проводника с выделением объектов "runcm=15||5" - в левой панели в Total Commander в новой вкладке перейти в каталог активного окна проводника с выделением объектов "runcm=15||6" - в правой панели в Total Commander в новой вкладке перейти в каталог активного окна проводника с выделением объектов "runcm=15||7" - в активной панели в Total Commander в новой вкладке перейти в каталог активного окна проводника с выделением объектов "runcm=15||8" - в другой панели в Total Commander в новой вкладке перейти в каталог активного окна проводника с выделением объектов
"global runcm=15||3 GLOBALRUNCM<a>" - в активной панели в Total Commander перейти в каталог полученный из активного окна проводника с выделением объектов и записать в глобальную переменную данные окна "global runcm=15||3 close=GLOBALRUNCM<1>" - в активной панели в Total Commander перейти в каталог полученный из активного окна проводника с выделением объектов и закрыть окно проводника
"cmdcm=tcimg=$pmpm_InfosR||%P%N" - пример запуска команды "pm" tcimg с передачей ей пути файла под курсором "carry=tcimg=$pmpm_InfosR||%P%N cmdcm=GLOBALCARRY<1>" - пример запуска команды "pm" tcimg с передачей ей пути файла под курсором "carry=tcimg=$pmpm_InfosR||%P%N cmdcm=$GLOBALCARRY" - пример запуска команды "pm" tcimg с передачей ей пути файла под курсором
"anf2d=$f212\Command2.txt||7||(.+)\R+(.+)||$1|$2 sends=%WL??-1||?Fpath5 anf2d=%WL||1||##@@a40$GLOBALANF2D0|GLOBALSENDS<:NUMBER:>|$GLOBALANF2D1[:ITEM:] arr2d=$GLOBALANF2D||21|1|^-9$ <FOR> 1 <TO> GLOBALARR2D0<0> cmdcm=GLOBALARR2D1<:INDEX:>||''GLOBALARR2D0<:INDEX:>'' <NEXT>" - для каждого выделенного объекта произвести запуск соответствующей команды из файла Command2.txt, если имена совпадают с начальными фразами в этом же файле (для запуска могут использоваться команды tcimg=$pm и tcimg=$am) [cycles] "anf2d=$f212\Command2.txt||7||(.+)\R+(.+)||$1|$2 sends=%WL??-1||?Fpath5 anf2d=%WL||1||##@@a40$GLOBALANF2D0|GLOBALSENDS<:NUMBER:>|$GLOBALANF2D1[:ITEM:]Chr(124)Chr(124)''::'' cmdcm=$GLOBALANF2D1" - для каждого выделенного объекта произвести запуск соответствующей команды из файла Command2.txt, если имена совпадают с начальными фразами в этом же файле (для запуска могут использоваться команды tcimg=$pm и tcimg=$am)
"global cmdbt=PowerShell~~-Command~~Get-Counter|Format-List|Out-String~~-Width~~4096||0||redir<1> GLOBALCMDBT<a>" - получить информацию активности системы "global cmdbt=PowerShell~~-Command~~Get-Date|Format-List|Out-String~~-Width~~4096||0||redir<1> GLOBALCMDBT<a>" - получить информацию DateTime системы "global cmdbt=PowerShell~~-Command~~Get-Disk|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4 GLOBALANF2D<a>" - получить информацию дисков системы "global cmdbt=PowerShell~~-Command~~Get-Service|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4||tr<1> GLOBALANF2D<a>" - получить список служб в таблице "global cmdbt=PowerShell~~-Command~~Get-Service|WHERE~~status~~-eq~~'Running'|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4||tr<1> GLOBALANF2D<a>" - получить список активных служб в таблице
"anf2d=$f212\Listg.txt||11||(?m)^([^\h]+)\h+:\h+(.*)$ GLOBALANF2D<a>" - создать 2D массив: группировать информацию по первым ключевым словам "anf2d=$f212\Listg.txt||11||??ps4||tr<1> GLOBALANF2D<a>" - создать транспонированный 2D массив: группировать информацию по первым ключевым словам
"global cmdbt=PowerShell~~-Command~~Get-HotFix|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4||tr<1> GLOBALANF2D<a>" - получить информацию обновлений системы в таблице "global cmdbt=PowerShell~~-Command~~Get-Printer|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4||tr<1> GLOBALANF2D<a>" - получить информацию принтеров системы в таблице "global cmdbt=PowerShell~~-Command~~Get-NetIPAddress|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4||tr<1> GLOBALANF2D<a>" - получить информацию NetIPAddress системы в таблице "global cmdbt=PowerShell~~-Command~~Get-NetIPAddress~~-AddressFamily~~IPv4~~-AddressState~~Preferred|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4 GLOBALANF2D<a>" - - получить информацию NetIPAddress IPv4 системы в таблице "global cmdbt=PowerShell~~-Command~~Get-NetIPAddress~~-AddressFamily~~IPv6~~-AddressState~~Preferred|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4 GLOBALANF2D<a>" - - получить информацию NetIPAddress IPv6 системы в таблице
"global cmdbt=PowerShell~~-Command~~Get-Acl|Format-List|Out-String~~-Width~~4096||0||redir<1> GLOBALCMDBT<a>" - получить информацию Acl системы
"exect=$var_ipid=WinGetProcess('[CLASS:TTOTAL_CMD]') cmdbt=PowerShell~~-Command~~Get-Process~~-id~~$var_ipid|fl~~*~~-Force|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=$GLOBALCMDBT||2||??ps3||begin<0> GLOBALANF2D<a>" - получить информацию процесса Total Commander "global cmdbt=PowerShell~~-Command~~Get-CimInstance~~Win32_Process|WHERE~~commandline~~-match~~'applog'|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4||tr<1> GLOBALANF2D<a>" - получить информацию текущего процесса "global cmdbt=PowerShell~~-Command~~(Get-Process)[3]|Format-List|Out-String~~-Width~~4096||0||redir<1> GLOBALCMDBT<a>" - получить информацию текущего процесса "global cmdbt=PowerShell~~-Command~~Get-Process~~-Name~~'conhost'|Format-List|Out-String~~-Width~~4096||0||redir<1> GLOBALCMDBT<a>" - получить информацию процесса 'conhost' "global cmdbt=PowerShell~~-Command~~(Get-Process~~-id~~@AutoItPID).StartInfo|SELECT~~-ExpandProperty~~environmentvariables|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=GLOBALCMDBT<t>||11||??ps4||tr<1> GLOBALANF2D<a>" - получить информацию сокращений системных папок/элементов и их значений "global cmdbt=PowerShell~~-Command~~Get-NetAdapter~~-physical|WHERE~~status~~-eq~~'up'|Format-List|Out-String~~-Width~~4096||0||redir<1> anf2d=$GLOBALCMDBT||2||??ps3||begin<0> GLOBALANF2D<a>" - получить информацию сетевых адаптеров
"nfsis=1||Win32_SystemUsers||1 GLOBALNFSIS<a>" - получить в таблице сведения пользователей системы
"sends=@%P%N??-1||&?^((.*\\)((.*)\.(.*)))$ GLOBALSENDS<a>" - для пути под курсором получить: путь|родительский путь|имя файла с расширением|имя файла|расширение "tcimg=$amam_TestParam||''%P%N''" - пример передачи пути в команду пути файла под курсором
"start=7-ZIP||e||%P%N||-o$f254\||content.opf||-r||-aoa||&&hide||&&wait pends=@$f254\content.opf sends=GLOBALPENDS<1>??-1||?Fepub4,symdel||#G3 zends=GLOBALPENDS<1>??-1||?Fepub5,symdel|||#G3 bends=GLOBALPENDS<1>||?Fepub2,symdel||^^GLOBALZENDS<1>.~~||?B1!!.~~||#G3 copyy=%P%N||"%t"GLOBALSENDS<1>//0||GLOBALBENDS<1>||upd<3>" - копировать в другую панель EPUB файл под курсором, поместить в папку цикла книги (если он есть) и переименовать "номер книги в цикле. название книги" [••] [•arhives]
"pends=@$f254\content.opf slist=%WL||test<1e!!epub> forpgs <FOR> 1 <TO> GLOBALSLIST<0> start=7-ZIP||e||GLOBALSLIST<:INDEX:>||-o$f254\||content.opf||-r||-aoa||&&hide||&&wait sends=GLOBALPENDS<1>??-1||?Fepub4,symdel||#G3 zends=GLOBALPENDS<1>??-1||?Fepub5,symdel||#G3 bends=GLOBALPENDS<1>||?Fepub2,symdel||^^GLOBALZENDS<1>.~~||?B1!!.~~||#G3 copyy=GLOBALSLIST<:INDEX:>||"%t"GLOBALSENDS<1>//0||GLOBALBENDS<1> <NEXT> focusp tcimg=$cm540" - выделенные EPUB файлы копировать в другую панель: поместить в папку цикла книги (если он есть) и переименовать "номер книги в цикле. название книги" [••] [•arhives] [cycles]
"imgpr=1 sends=`%P%N imgpr=-1 textv=GLOBALSENDS<x1>||viewtext<TEXT_EPUB|0|0|0|0|Consolas>||pos<1>" - получить текст EPUB книги под курсором "imgpr=1 sends=`%P%N imgpr=-1 creat="%p"||"%N".txt||content<GLOBALSENDS<x1>>||code<4>||open<AkelPad|1>" - получить текст EPUB книги под курсором, сохранить в именной файл txt в той же папке и открыть в AkelPad
"anf2d=$f212\Slova.txt||11||(?m)((.).+)||1 GLOBALANF2D<a>" - создать 2D массив - распределить слова из файла по первым буквам "anf2d=$f212\Slova.txt||11||(?m)((.).+)||1||tr<1> GLOBALANF2D<a>" - создать транспонированный 2D массив - распределить слова из файла по первым буквам
"anf2d=$f212\Slova.txt||11||(?m)((..).+)||1 GLOBALANF2D<a>" - создать 2D массив - распределить слова из файла по первым 2-м буквам "anf2d=$f212\Slova.txt||11||(?m)((..).+)||1||tr<1> GLOBALANF2D<a>" - создать транспонированный 2D массив - распределить слова из файла по первым 2-м буквам
"sends=%P%N??-1||&?(*UCP)(\p{L}{3,})||?F1 GLOBALSENDS<a>" - в файле под курсором получить все слова более 2-х букв без дубликатов "sends=%P%N||&?(*UCP)(\p{L}{3,})||?F1 anf2d=GLOBALSENDS<t1>||11||(?m)((.).+)||tr<1> GLOBALANF2D<a>" - в файле под курсором получить все слова более 2-х букв без дубликатов и распределить в 2D массив по первым буквам учитывая регистр "sends=%P%N||&?(*UCP)(\p{L}{3,})||?F1 anf2d=GLOBALSENDS<t1>||11||(?m)((.).+)||1||0||tr<1> GLOBALANF2D<a>" - в файле под курсором получить все слова более 2-х букв без дубликатов и распределить в 2D массив по первым буквам не учитывая регистр
"sends=>n187|00:01:10:11|3|3|0|1|0|:??-1 GLOBALSENDS<a>" - получить генерацию времени, в часы/минуты/секунды которого входит 0 или 1 "sends=>n187|00:01:10:11|3|3|0|0|0|:??-1 GLOBALSENDS<a>" - получить генерацию времени, в часы/минуты/секунды которого входит 0 или 1 без повторов элементов в строке
"<IF> <info=o9$f250\TCIMG_BLACK.chm//> = 2 <THEN> runhp=x||$f250\TCIMG_BLACK.chm||Справка~~TCIMG_BLACK||1 <ELSE> runhp=x||$f250\TCIMG.chm||Справка~~TCIMG||1 <ENDIF>" - запустить тёмную справку TCIMG, если не обнаружена - светлую [ifthen] "exect=$var_s=FileExists(_PathFull('$f250\TCIMG_BLACK.chm'))?'TCIMG_BLACK':'TCIMG' runhp=x||$f250\$var_s.chm||Справка~~$var_s||1" - запустить тёмную справку TCIMG, если не обнаружена - светлую
"sends=>n250|00:00:00|12:00:00|20s??-1 GLOBALSENDS<a>" - получить время в заданном диапазоне с шагом 20 секунд "sends=>n250|0|-1|1h??-1 GLOBALSENDS<a>" - получить время каждого часа "sends=>n250|05:00:00|10:00:00|1n??-1 GLOBALSENDS<a>" - получить время в заданном диапазоне с шагом 1 минута "sends=>n250|0|-1|5s??-1 GLOBALSENDS<a>" - получить время шагом 5 секунд "sends=>n250|0|-1|01:01:01??-1 GLOBALSENDS<a>" - получить время шагом "01:01:01" "sends=>n250|01:20:38|22:43:20|01:01:01??-1 GLOBALSENDS<a>" - получить время шагом "01:01:01" между заданным диапазоном
"sends=>n250|22:43:20|01:20:38|01:01:01??-1 GLOBALSENDS<a>" - получить время шагом "01:01:01" между заданным диапазоном от большего к меньшему "sends=>n250|-1|12:00:00|20s??-1 GLOBALSENDS<a>" - получить время в заданном диапазоне с шагом 20 секунд от большего к меньшему "sends=>n250|22:43:20|01:20:38|01:01:01??-1 GLOBALSENDS<a>" - получить время шагом "01:01:01" между заданным диапазоном от большего к меньшему
"sends=>n250|23:00:00|01:00:00|40s|1??-1 GLOBALSENDS<a>" - получить время в заданном диапазоне с шагом 40 секунд, список до 00:00:00 и после "sends=>n250|20:43:20|05:20:38|01:01:01|1??-1 GLOBALSENDS<a>" - получить время шагом "01:01:01" между заданным диапазоном, список до 00:00:00 и после "sends=>n250|08:00:00|07:00:00|1h|1??-1 GLOBALSENDS<a>" - получить время каждого часа между заданным диапазоном, список до 00:00:00 и после
"sends=>n250|-2|01:00:00|40s??-1 GLOBALSENDS<a>" - получить время в заданном диапазоне с шагом 40 секунд, от 00:00:00 до 01:00:00 в обратном направлении "sends=>n250|-2|0|40s??-1 GLOBALSENDS<a>" - получить время в заданном диапазоне с шагом 40 секунд, от 00:00:00 до 00:00:00 в обратном направлении
"sends=?$f254?55 exicn=D:\icn1.dll||GLOBALSENDS<1>1||56 $GLOBALICXXX=$GLOBALEXICN exicn=D:\icn2.dll||GLOBALSENDS<1>2 $GLOBALEXICN[67]=$GLOBALICXXX[1] lbicl=GLOBALEXICN<t>||"%p"xxx.dll||0||upd<1> delsm=GLOBALSENDS<1>||1" - из библиотеки icn1.dll извлечь 56 значок, заменить им в icn2.dll 67-й значок, сохранив в новую библиотеку xxx.dll в активную панель "shape=36 dilog=[combo=BOX40][input=BOX106][break][combo=BOX40][input=BOX106] dends=GLOBALINPUT<2>??-8,||?Ffun_numplus sends=?$f254?55 exicn=$f250\GLOBALCOMBO<1>||GLOBALSENDS<1>1||GLOBALINPUT<1>||icn<0> $GLOBALICXXX=$GLOBALEXICN exicn=$f250\GLOBALCOMBO<2>||GLOBALSENDS<1>2 <FOR> 1 <TO> GLOBALICXXX<0> $GLOBALEXICN[GLOBALDENDS<:INDEX:>]=$GLOBALICXXX[:INDEX:] <NEXT> lbicl=GLOBALEXICN<t>||"%p"xxx.dll||0||upd<1> delsm=GLOBALSENDS<1>||1" - заменить заданными значками 1-й библиотеки заданные значки во 2-й, сохранив в новую библиотеку xxx.dll в активную панель (библиотеки и номера значков в диалоге) (отсчёт значков с 0) [cycles]
"sends=?$f254?55 dilog=<sicon=%%WINDIR%%\System32\shell32.dll> exicn=%%WINDIR%%\System32\shell32.dll||GLOBALSENDS<1>1||GLOBALSICON1<3>||icn<0> $GLOBALICXXX=$GLOBALEXICN dilog=<sicon=%%COMMANDER_PATH%%\TCIMG.dll> exicn=%%COMMANDER_PATH%%\TCIMG.dll||GLOBALSENDS<1>2 exect=GLOBALSICON2<3>+1 $GLOBALEXICN[GLOBALEXECT<1>]=$GLOBALICXXX[1] lbicl=GLOBALEXICN<t>||"%p"xxx.dll||0||upd<1> delsm=GLOBALSENDS<1>||1" - из библиотеки shell32.dll выбрать значок и заменить значок выбранный в TCIMG.dll сохранив в новую библиотеку xxx.dll в активную панель
"sends=?$f254?55 dilog=<sicon=[sopen=BOX8]> exicn=GLOBALSOPEN1<1>||GLOBALSENDS<1>1||GLOBALSICON1<3>||icn<0> $GLOBALICXXX=$GLOBALEXICN dilog=<sicon=[sopen=BOX8]> exicn=GLOBALSOPEN2<1>||GLOBALSENDS<1>2 exect=GLOBALSICON2<3>+1 $GLOBALEXICN[GLOBALEXECT<1>]=$GLOBALICXXX[1] lbicl=GLOBALEXICN<t>||"%p"xxx.dll||0||upd<1> delsm=GLOBALSENDS<1>||1" - из библиотеки №1 выбрать значок и заменить значок выбранный в библиотеке №2 сохранив в новую библиотеку xxx.dll в активную панель
"sends=>n251|2017|2018|5d6h??-1 GLOBALSENDS<a>" - получить дату в заданном диапазоне с шагом 5 дней 6 часов "sends=>n251|2018|2017|5d6h??-1 GLOBALSENDS<a>" - получить дату в заданном диапазоне с шагом 5 дней 6 часов в обратном направлении "sends=>n251|2020/03|2020/06|1w??-1 GLOBALSENDS<a>" - получить дату в заданном диапазоне с шагом 1 неделя "sends=>n251|2020/03|2020/06|1w|1??-1 GLOBALSENDS<a>" - получить дату в заданном диапазоне с шагом 1 неделя (короткая дата) "sends=>n251|2000|1|1y??-1 GLOBALSENDS<a>" - получить дату с 2000 по текущее время с шагом 1 год "sends=>n251|1|1999|1y??-1 GLOBALSENDS<a>" - получить дату с текущего времени по 1999 с шагом 1 год в обратном направлении
"<TIME=s00> tcimg=$cm582 infbx=InfoBox10" - каждую минуту выдавать сообщение [timess]
"<TIME=n00> tcimg=$cm582" - каждый час сохранить историю каталогов в Total Commander [timess] "exect=$var_pid=##<info=x62> <TIME=n00> exect=ProcessExists($var_pid)?0:_CmdCm('close=:PID:') tcimg=$cm582" - каждый час сохранить историю каталогов в Total Commander, если окно TC нет, то процесс при проверке отключается. Ternary() [timess]
"sends=%WL dilog=[image=BOX3] GLOBALIMAGE1<a> GLOBALIMAGE0<a>" - выделенные значки открыть в диалоге, после выбора нескольких получить информацию в глобальных переменных "sends=%WL dilog=[image=BOX3] GLOBALIMAGE1<a> GLOBALIMAGE0<a> sends=[tc=TL|2]??-1 dilog=[image=BOX3] GLOBALIMAGE2<a> GLOBALIMAGE0<a>" - выделенные значки открыть в диалоге, после выбора нескольких получить информацию в глобальных переменных, затем выделенные значки другой панели открыть в диалоге... "sends=%WL bends=[tc=TL|2]??-1 shape=29 dilog=[image=BOX3][break][image=BOX4] GLOBALIMAGE1<a> GLOBALIMAGE2<a> GLOBALIMAGE0<a>" - выделенные значки обеих панелей открыть в диалоге, после выбора нескольких получить информацию в глобальных переменных
"slist=%WL||test<3w!!1!!i10::> GLOBALSLIST<a>" - из выделенных значков ICO получить те, у которых количество иконок больше 1 "slist=%WL||test<2w!!2!!i10::> GLOBALSLIST<a>" - из выделенных значков ICO получить те, у которых количество иконок меньше 2-х
"alist=%WL||formt<#2f25:F:> GLOBALALIST<a>" - сортировать выделенные файлы по размеру по возрастанию "alist=%WL||formt<#3f25:F:> GLOBALALIST<a>" - сортировать выделенные файлы по размеру по убыванию
26.02.2023 [32.2] [+] Добавлена новая команда await - приостановка выполнение действий до выполнения условия - добавлена глобальная переменная GLOBALAWAIT - добавлен файл ...\Files\Scripts\5.a3x [+] Добавлен файл TCIMGU_Example.ini [+] Оптимизирован функционал параметра test<> (см. Дополнение №16) - в режим "r" добавлена возможность получать размер каталога без рекурсии + добавлен параметр "4" - в режим "f" добавлены параметры "10", "11", "12", "13" позволяющие тестировать папки на количество файлов и подкаталогов [+] Оптимизированы параметры (см. Дополнение №24) - исправлена ошибка в режиме "#E" (Base32) [+] Оптимизированы параметры (см. Дополнение №10) - исправлена ошибка в режимах "570" ... "580", "201", "202" - в режим "n34" добавлены параметры "2", "3", "4" - добавлены режимы "n89" [±] Исправлена ошибка в функции _ArrayCreate() [±] Исправлена ошибка в команде imgth в диалоге изменения фона [±] Исправлена ошибка в команде timesx в подсказке в трее [±] Исправлена ошибка в команде "infos=2||5" [±] Исправлена ошибка в команде в imght при путях в которых есть проценты "%" [±] Исправлены ошибки в команде fonts - добавлена кнопка отображающая информацию о шрифте
Код
"tcimg=$w1~~$cmcm_CopyFullNamesToClip slist=cliplist GLOBALSLIST<a>" - список путей выделенных выделенных записать в буфер обмена и получить (полезно для режима эскизы, там где параметр [tc] не работает) "tcimg=$w1~~$cmcm_CopyNamesToClip slist=cliplist GLOBALSLIST<a>" - список имён выделенных объектов записать в буфер обмена и получить (полезно для режима эскизы, там где параметр [tc] не работает)
"await=0 infbx=InfoBox_TEST1" - приостановить действие команд пока не будет изменён буфера обмена "await=0||5s infbx=InfoBox_TEST1" - приостановить действие команд на 5 секунд или пока не будет изменён буфера обмена "global await=0 infbx=InfoBox_TEST1 GLOBALAWAIT<a>" - приостановить действие команд пока не будет изменён буфера обмена и записать новое содержимое в глобальную переменную
"await=0||0||Name infbx=InfoBox_TEST1" - приостановить действие команд пока не будет изменён буфера обмена и пока в нём не появится слово "Name" "await=0||0||Name||0 infbx=InfoBox_TEST1" - приостановить действие команд пока не будет изменён буфера обмена и пока в нём не будет слово "Name"
"await=0||0||&&(\d) infbx=InfoBox_TEST1" - приостановить действие команд пока не будет изменён буфера обмена и пока в нём не появится любая цифра "await=0||0||&&(\d)||0 infbx=InfoBox_TEST1" - приостановить действие команд пока не будет изменён буфера обмена и пока в нём не появится информация, в которой не будет не одной цифры
"await=0||0||??words1 infbx=InfoBox_TEST1" - приостановить действие команд пока не будет изменён буфера обмена и пока в нём не появится русское слово более 2-х символов "await=0||0||??words1||0 infbx=InfoBox_TEST1" - приостановить действие команд пока не будет изменён буфера обмена и пока в нём не будет русского слова более 2-х символов
"await=1||0||"%P" infbx=InfoBox_TEST1" - приостановить действие команд пока в корне текущей папке не произойдут какие-либо изменения "await=1||0||"%P"||1 infbx=InfoBox_TEST1" - приостановить действие команд пока в текущей папке (с рекурсией) не произойдут какие-либо изменения
"await=1||0||"%P"||0||1 infbx=InfoBox_TEST1" - приостановить действие команд пока в корне текущей папке не произойдёт создания объекта "await=1||0||"%P"||0||2 infbx=InfoBox_TEST1" - приостановить действие команд пока в корне текущей папке не произойдёт создания объекта "global await=1||0||"%P"||0||4 GLOBALAWAIT<a>" - приостановить действие команд пока в корне текущей папке не произойдёт переименование объекта
"await=1||0||"%P"||0||0||Name infbx=InfoBox_TEST1" - приостановить действие команд пока в корне текущей папке не произойдёт любое изменение объекта, в котором есть слово "Name" "await=1||0||"%P"||0||0||&&(\d) infbx=InfoBox_TEST1" - приостановить действие команд пока в корне текущей папке не произойдёт любое изменение объекта, в котором есть цифра "await=1||0||"%P"||0||0||??words1 infbx=InfoBox_TEST1" - приостановить действие команд пока в корне текущей папке не произойдёт любое изменение объекта, в котором есть русское слово более 2-х символов "await=1||0||"%P"||0||0||Name||0 infbx=InfoBox_TEST1" - приостановить действие команд пока в корне текущей папке не произойдёт любое изменение объекта, в котором нет слова "Name"
"await=1||0||"%P"||0||3||&&^\Q%N\E$ infbx=InfoBox_TEST1" - приостановить действие команд пока файл под курсором не будет изменён (атрибуты, дата, содержимое) "await=1||0||"%P"||0||1,4||&&^Test\.xxx$ infbx=InfoBox_TEST1" - приостановить действие команд пока в корне текущей папке не появится файл Test.xxx "creat="%P"||Test.xxx await=1||0||"%P"||0||2||&&^Test\.xxx$ infbx=InfoBox_TEST1" - приостановить действие команд пока из текущей папки не будет удалён/перемещён файл Test.xxx
"await=2||0||C:\File.ini||xxx||key infbx=InfoBox_TEST1" - приостановить действие команд пока в ini файле не изменится значение ключа key в секции xxx "await=2||0||C:\File.ini||xxx||key||Name infbx=InfoBox_TEST1" - приостановить действие команд пока в ini файле не изменится значение ключа key в секции xxx и пока в значении не появится слово "Name" "await=2||0||C:\File.ini||xxx||key||&&(\d) infbx=InfoBox_TEST1" - приостановить действие команд пока в ini файле не изменится значение ключа key в секции xxx и пока в значении не появится цифра "await=2||0||C:\File.ini||xxx||key||??words2 infbx=InfoBox_TEST1" - приостановить действие команд пока в ini файле не изменится значение ключа key в секции xxx и пока в значении не появится более 2-х латинских символов "global await=2||0||C:\File.ini||xxx||key GLOBALAWAIT<a>" - приостановить действие команд пока в ini файле не изменится значение ключа key в секции xxx
"global await=1||30s||"%P"||0||4 GLOBALAWAIT<a>" - приостановить действие команд пока в корне текущей папке не произойдёт переименование объекта, если нет, то через 30 секунд слежение за папкой прекращается
"copys=%WL||"%t"//0||test<0a!!D//4r!!128K>||upd<3>" - из выделенных объектов копировать в другую панель файлы, размер которых не равен 128Kb
"copys=%WL||"%t"//0||test<1a!!D//2r!!128K>||upd<3>" - из выделенных объектов копировать в другую панель папки, размер которых равен 128Kb "copys=%WL||"%t"//0||test<1a!!D//2r!!128K!!>||upd<3>" - из выделенных объектов копировать в другую панель папки, размер которых без рекурсии равен 128Kb
"copys=%WL||"%t"//0||test<1a!!D//4r!!128K>||upd<3>" - из выделенных объектов копировать в другую панель папки, размер которых не равен 128Kb "copys=%WL||"%t"//0||test<1a!!D//4r!!128K!!>||upd<3>" - из выделенных объектов копировать в другую панель папки, размер которых без рекурсии не равен 128Kb
"copys=%WL||"%t"//0||test<10f!!=5>||upd<3>" - из выделенных папок копировать в другую панель те, у которых есть всего 5 файлов (с рекурсией) "copys=%WL||"%t"//0||test<10f!!{}5>||upd<3>" - из выделенных папок копировать в другую панель те, у которых нет ровно 5 файлов (с рекурсией) "copys=%WL||"%t"//0||test<12f!!=5>||upd<3>" - из выделенных папок копировать в другую панель те, у которых в корне есть всего 5 файлов "copys=%WL||"%t"//0||test<12f!!{}5>||upd<3>" - из выделенных папок копировать в другую панель те, у которых в корне нет ровно 5 файлов
"copys=%WL||"%t"//0||test<10f!!!!=5>||upd<3>" - из выделенных папок копировать в другую панель те, у которых есть всего 5 подпапок (с рекурсией) "copys=%WL||"%t"//0||test<12f!!!!=5>||upd<3>" - из выделенных папок копировать в другую панель те, у которых в корне есть всего 5 подпапок
"copys=%WL||"%t"//0||test<10f!!=5!!=5>||upd<3>" - из выделенных папок копировать в другую панель те, у которых есть всего 5 файлов и 5 подпапок (с рекурсией) "copys=%WL||"%t"//0||test<12f!!=5!!=5>||upd<3>" - из выделенных папок копировать в другую панель те, у которых в корне есть всего 5 файлов и 5 подпапок "copys=%WL||"%t"//0||test<12f!!=0!!=0>||upd<3>" - из выделенных папок копировать в другую панель пустые папки
"await=3||0||"%P"||10f!!=5!!=5 infbx=InfoBox_TEST1" - приостановить действие команд пока в текущей папке с рекурсией не будет ровно 5 файлов и 5 подпапок (если они уже есть, то приостановки не будет) "await=3||0||"%P"||12f!!=5!!=5 infbx=InfoBox_TEST1" - приостановить действие команд пока в корне текущей папки не будет ровно 5 файлов и 5 подпапок (если они уже есть, то приостановки не будет) "await=3||0||"%P"||12f!!=0!!=0 infbx=InfoBox_TEST1" - приостановить действие команд пока текущая папка не станет пустой (если она уже пустая, то приостановки не будет)
"global await=3||0||"%P"||1r!!4M GLOBALAWAIT<a>" - приостановить действие команд пока размер текущей папки с рекурсией не будет больше 4 Mb (если размер уже больше, то приостановки не будет) "global await=3||0||"%P"||1r!!4M!! GLOBALAWAIT<a>" - приостановить действие команд пока размер текущей папки в корне не будет больше 4 Mb (если размер уже больше, то приостановки не будет)
"global await=4||0||%P%N||1r!!1M GLOBALAWAIT<a>" - приостановить действие команд пока размер файла под курсором не превысит 1 Mb (если размер уже больше, то приостановки не будет) "global await=4||20n||%P%N||1r!!1M GLOBALAWAIT<a>" - приостановить действие команд на 20 минут пока размер файла под курсором не превысит 1 Mb (если размер уже больше, то приостановки не будет) "global await=4||0||%P%N||2r!!0B GLOBALAWAIT<a>" - приостановить действие команд пока размер файла под курсором не обнулится (если размер уже нулевой, то приостановки не будет)
"global await=9||0||[CLASS:Notepad]||0 GLOBALAWAIT<a>" - приостановить действие команд до появления указанного окна (если оно уже существует, то приостановки не будет) "global await=9||0||[CLASS:Notepad]||1 GLOBALAWAIT<a>" - приостановить действие команд до активизации указанного окна "global await=9||0||[CLASS:Notepad]||2 GLOBALAWAIT<a>" - приостановить действие команд до закрытия указанного окна "global start=notepad||%P%N||&&procwait await=9||0||[CLASS:Notepad]||3 GLOBALAWAIT<a>" - запустить Notepad с файлом под курсором и приостановить действие команд до того как указанное окно перестанет быть активным
"global await=9||0||[CLASS:Notepad]||4 GLOBALAWAIT<a>" - приостановить действие команд пока окно не будет свёрнуто "global await=9||0||[CLASS:Notepad]||5 GLOBALAWAIT<a>" - приостановить действие команд пока окно будет не свёрнуто "global await=9||0||[CLASS:Notepad]||6 GLOBALAWAIT<a>" - приостановить действие команд пока окно не будет развёрнуто "global await=9||0||[CLASS:Notepad]||7 GLOBALAWAIT<a>" - приостановить действие команд пока окно будет не развёрнуто
"global await=9||0||[CLASS:Notepad]||8 GLOBALAWAIT<a>" - приостановить действие команд пока окно будет не развёрнуто и не свёрнуто "global await=9||0||[CLASS:Notepad]||9 GLOBALAWAIT<a>" - приостановить действие команд пока окно не будет либо развёрнуто либо свёрнуто
"global await=9||0||[CLASS:Notepad]||10 GLOBALAWAIT<a>" - приостановить действие команд пока окно не будет перемещено "global await=9||0||[CLASS:Notepad]||11 GLOBALAWAIT<a>" - приостановить действие команд пока ширина окна не изменится "global await=9||0||[CLASS:Notepad]||12 GLOBALAWAIT<a>" - приостановить действие команд пока высота окна не изменится "global await=9||0||[CLASS:Notepad]||13 GLOBALAWAIT<a>" - приостановить действие команд пока ширина или высота окна не изменится
"qends=>n34|1|100|2 GLOBALQENDS<a>" - получить сумму квадратов всех чисел от 1 до 100 "qends=>n34|1|100|3 GLOBALQENDS<a>" - получить сумму кубов всех чисел от 1 до 100 "qends=>n34|1|999999|4 GLOBALQENDS<a>" - получить сумму всех цифр каждого числа, входящих в диапазон от 1 до 999999 "qends=>n34|55555|999999|4 GLOBALQENDS<a>" - получить сумму всех цифр каждого числа, входящих в диапазон от 55555 до 999999
"qends=>n89|55|88 GLOBALQENDS<a>" - получить наименьшее общее кратное (НОК) для 2-х чисел
[+] Оптимизированы параметры (см. Дополнение №10) - для режимов "n"поддерживающих преобразование больших чисел добавлена обработка двоичных чисел типа "0b10101" - ускорена работа режимов "n28", "n62", "n63", "n64", "n65", "n7", "n60", "n61", "89", "90", "91" - в режимы "n62", "n63", "n64", "n65", "n67" добавлены системы счисления от 37 до 62 - в режим "n49" добавлено вычисление двойного факториала N!! - добавлены режимы "n27" [±] Исправлена ошибка в параметре formt в режиме "80" при нижнем регистре данных (см. Дополнение №15) [+] В TCIMG.ini в секцию [ViewValues] добавлен ключ Title [+] Добавлены режимы "44", "45", "46", "47" в параметр rndm<> (см. Дополнение №30) [+] Для диалога [edits] добавлено изменения размера шрифта CTRL+колесо мыши (для Windows10 и выше) [+] Оптимизирована команда listx в режиме "8" - исправлена ошибка - добавлены подпараметры и 5 глобальных переменных [+] Оптимизирована команда regex - исправлена ошибка при выделении CTRL+A - исправлена ошибка в Checkbox "Показывать номера групп" + добавлено автоматическое вычисление результата - добавлено автоскрытие элементов в группе "Поиск", "Замена", "Группы", "TCIMG" и автоматическое вычисление результата - в "Группы" добавлена реакция результата на "Позицию строки с которой начинать поиск" - добавлена "Запись в буфер кода для Autoit" в RegExMenu3.ini [+] В команды textt и textx добавлен выбор расширения в параметр backup "Number|Ext" [±] Исправлена ошибка в параметре "?6" (см. Дополнение №24)
Код
"slist=[tc=AM] folds=$f250||temp25||fflag<2> start=RAR||-IBCK||t||-r||list<$GLOBALSLIST>||-ilog$f254?25\ErrorList.txt||-inul||-p0||&&wait sends=$f254?25\ErrorList.txt??-1||formt<rar13,1,63> alist=$GLOBALSENDS||formt<rar11,54> blist=$GLOBALSENDS||formt<rar12,54> GLOBALALIST<a> GLOBALBLIST<a> tempz=25" - получить два раздельных списка, с битыми и запароленными архивами [••] [•arhives]
"qends=>n28|1000000 textv=GLOBALQENDS<x1>||viewtext<FIBONACCI|500|400|-1|-1|Consolas|14|00FFFF|3D3D3D>||pos<1>" - получить миллионное число Фибоначчи
"sends=%WF??-1 bends=$f212\FList.txt??-1 kends=$GLOBALSENDS??-1||?KGLOBALBENDS<0> $GLOBALBENDS&GLOBALSENDS<0> $GLOBALBENDS@$GLOBALKENDS GLOBALBENDS<a>" - для выделенных имён файлов получить подобные пути файлов для папок по списку из FList.txt "sends=[edits=BOX12]??-1 bends=$f212\FList.txt??-1 kends=$GLOBALSENDS??-1||?KGLOBALBENDS<0> $GLOBALBENDS&GLOBALSENDS<0> $GLOBALBENDS@$GLOBALKENDS GLOBALBENDS<a>" - для введённых в диалоге имён файлов получить подобные пути файлов для папок по списку из FList.txt "sends=[edits=BOX12]??-1 bends=$f212\FList.txt??-1 kends=$GLOBALSENDS??-1||?KGLOBALBENDS<0> $GLOBALBENDS&GLOBALSENDS<0> $GLOBALBENDS@$GLOBALKENDS exect=$var_n=MsgBox(4+32+262144,'Сообщение','Удалить~~файлы?')||$var_i=$var_n=7?_Exit():1 delss=$GLOBALBENDS beepss" - удалить введённые имена файлов в папках по списку из FList.txt Ternary()
"sends=PS<"%P"//1//-1//&&(?:xxx\.au3|zzz\.h)$>??-1 GLOBALSENDS<a>" - найти в активной панели с рекурсией файлы с именами xxx.au3 и zzz.h
"sends=[edits=BOX12]??1||?F63,sym1||@CRLF!!Chr(124) bends=PS<"%P"//1//-1//&&(?:GLOBALSENDS<1>)$>??-1 anf2d=$GLOBALBENDS||1||##@@o73:://||##@@o25:://||##@@o45:://||##@@o65:://||header<0|Имя|Дата~~модификации|Дата~~создания|Дата~~доступа> GLOBALANF2D<a>" - найти пути в активной панели с рекурсией для введённых в диалоге имён файлов и получить информацию о дате в таблице
"anf2d=PS<"%P"//1//-1//DATA.SCR>||1||##@@o73:://||##@@o25:://||##@@o45:://||##@@o65:://||header<0|Имя|Дата~~модификации|Дата~~создания|Дата~~доступа> GLOBALANF2D<a>" - в активной панели с рекурсией найти все файлы DATA.SCR и получить информацию о дате в таблице "sends=-1??1||?F63,sym1||@CRLF!!Chr(124) bends=PS<"%P"//1//-1//&&(?:GLOBALSENDS<1>)$>??-1 anf2d=$GLOBALBENDS||1||##@@o73:://||##@@o25:://||##@@o45:://||##@@o65:://||header<0|Имя|Дата~~модификации|Дата~~создания|Дата~~доступа> GLOBALANF2D<a>" - найти пути в активной панели с рекурсией для имён файлов из буфера обмена и получить информацию о дате в таблице
"textt=%P%N||&*C:\ReplRegExp.txt||upd<1>" - в содержимом текстового файла произвести поиск и замену по списку регулярных выражений из файла ReplRegExp.txt
"exect=(Int(Sqrt(78))+1)^2 GLOBALEXECT<a>" - вычислить следующее число полного квадрата, относительно числа 78 "exect=(Int(Sqrt(ClipGet()))+1)^2 GLOBALEXECT<a>" - вычислить следующее число полного квадрата, относительно числа из буфера обмена
"exect=(Int(Sqrt(78))-1)^2 GLOBALEXECT<a>" - вычислить предыдущее число полного квадрата, относительно числа 78 "exect=(Int(Sqrt(ClipGet()))-1)^2 GLOBALEXECT<a>" - вычислить предыдущее число полного квадрата, относительно числа из буфера обмена
"exect=Int(Sqrt(78))+1 GLOBALEXECT<a>" - вычислить следующее число имеющее полный квадрат, относительно числа 78 "exect=Int(Sqrt(ClipGet()))+1 GLOBALEXECT<a>" - вычислить следующее число имеющее полный квадрат, относительно числа из буфера обмена
"exect=Int(Sqrt(78))-1 GLOBALEXECT<a>" - вычислить предыдущее число имеющее полный квадрат, относительно числа 78 "exect=Int(Sqrt(ClipGet()))-1 GLOBALEXECT<a>" - вычислить предыдущее число имеющее полный квадрат, относительно числа из буфера обмена
"exect=$var_i=Sqrt(78)||$var_n=$var_i=Int($var_i)?1:0||_ViewValues($var_n)" - проверяет является ли число 78 полным квадратом "exect=$var_i=Sqrt(ClipGet())||$var_n=$var_i=Int($var_i)?1:0||_ViewValues($var_n)" - проверяет является ли число из буфера обмена полным квадратом
"hends=<info=n64|10|50|123421345768908764533245768905> GLOBALHENDS<a> bends=<info=n64|50|8|GLOBALHENDS<1>> GLOBALBENDS<a> dends=<info=n64|8|10|GLOBALBENDS<1>> GLOBALDENDS<a>" - конвертировать число в 50-ричную систему счисления, затем в восьмеричную и обратно в десятичную
"jends=x??-1||##rndm<44?8|10:50> GLOBALJENDS<a>" - получить 8 равномерно распределенных случайных десятичных чисел, примерная длина числа 50 "jends=x??-1||##rndm<44?8|16:50> GLOBALJENDS<a>" - получить 8 равномерно распределенных случайных шестнадцатеричных чисел, примерная длина числа 50 "jends=x??-1||##rndm<44?8|2:50> GLOBALJENDS<a>" - получить 8 равномерно распределенных случайных двоичных чисел, примерная длина числа 50
"jends=x??-1||##rndm<45?10|8:1000> GLOBALJENDS<a>" - получить 10 равномерно распределенных случайных восьмеричных чисел, длина числа 1000
"jends=x??-1||##rndm<46?8|10:50> GLOBALJENDS<a>" - получить 8 однородных случайных десятичных чисел, примерная длина числа 50 "jends=x??-1||##rndm<46?8|16:50> GLOBALJENDS<a>" - получить 8 однородных случайных шестнадцатеричных чисел, примерная длина числа 50 "jends=x??-1||##rndm<46?8|2:50> GLOBALJENDS<a>" - получить 8 однородных случайных двоичных чисел, примерная длина числа 50
"jends=x??-1||##rndm<47?10|8:1000> GLOBALJENDS<a>" - получить 10 однородных случайных восьмеричных чисел, длина числа 1000
"wends=<info=s100dd.MM.yyyy> GLOBALWENDS<a>" - получить системную дату в формате "26.03.2023" "wends=<info=s100dd.MM.yyyy|0|[info=s102|-1d]> GLOBALWENDS<a>" - получить вчерашнюю дату в формате "26.03.2023"
"sends=PS<"%P"//0//0//&&.+\d\d.\d\d.\d{4}.*>??-1 GLOBALSENDS<a>" - получить список активной панели объектов, в именах которых есть дата "DD.MM.YYYY" "sends=PS<"%P"//0//0//&&.+\d\d.\d\d.\d{4}.*>??-1||&?(?m)^(?(?=.*<info=s100dd.MM.yyyy>)|.+?)$ GLOBALSENDS<a>"- получить список активной панели объектов, в именах которых есть дата "DD.MM.YYYY", кроме сегодняшней "sends=PS<"%P"//0//0//&&.+\d\d.\d\d.\d{4}.*>??-1||&?(?m)^(?(?=.*(<info=s100dd.MM.yyyy>|<info=s100dd.MM.yyyy|0|[info=s102|-1d]>))|.+?)$ GLOBALSENDS<a>"- получить список активной панели объектов, в именах которых есть дата "DD.MM.YYYY", кроме сегодняшней и вчерашней
"sends=PS<"%P"//0//0//&&.+\d\d.\d\d.\d{4}.*>??-1||&?(?m)^(?(?=.*<info=s100dd.MM.yyyy>)|.+?)$ delss=$GLOBALSENDS||1||upd<1>" - в активной панели удалить объекты, в именах которых есть дата "DD.MM.YYYY", кроме сегодняшней "sends=PS<"%P"//0//0//&&.+\d\d.\d\d.\d{4}.*>??-1||&?(?m)^(?(?=.*(<info=s100dd.MM.yyyy>|<info=s100dd.MM.yyyy|0|[info=s102|-1d]>))|.+?)$ delss=$GLOBALSENDS||1||upd<1>" - в активной панели удалить объекты, в именах которых есть дата "DD.MM.YYYY", кроме сегодняшней и вчерашней
"qends=>n27|100|200??-1 GLOBALQENDS<a>" - получить список чисел Люка от 100 до 200 "qends=>n27|10000 GLOBALQENDS<a>" - получить 10000-е число Люка
"sends=||<info=n49|50!!//> GLOBALSENDS<a>" - вычислить двойной факториал 50!! "sends=||<info=n49|50!!-10!!//> GLOBALSENDS<a>" - вычислить выражение с двойным факториалом "sends=||sends=||<info=n49|10!!/((2!!)^5)//> GLOBALSENDS<a>" - вычислить выражение с двойным факториалом
"listx=@%P%N||8||1||pdf|jpg GLOBALLISTX<a> GLOBALLISTX1<a> GLOBALLISTX2<a> GLOBALLISTX3<a> GLOBALLISTX4<a> GLOBALLISTX5<a>" - в html файле под курсором проверить на существование локальные файлы заданных типов, находящиеся в ссылках тегов background, href, src и вывести информацию в глобальные переменные [••] [•image]
"listx=%WL||8||1||pdf|jpg||progres<> GLOBALLISTX<a>" - в выделенных html файлах проверить на существование локальные файлы заданных типов, находящиеся в ссылках тегов background, href, src и вывести информацию в глобальные переменные [••] [•image]
"sends=PS<"%P"//1//-1//*.bat|*.cmd|*.exe>??-1 GLOBALSENDS<b> slist=$GLOBALARRAY||&&(.*~~.*)!!''$1''||^^cmd:NUMBER:=||$$@CRLFbutton:NUMBER:=Wcmicons.dll,0@CRLFmenu:NUMBER:=||$$<info=f13:://>||$$@CRLFiconic:NUMBER:=0||#A[Buttonbar]@CRLFButtoncount=:NUMBER:@CRLF||save<"%T"N_BAR.bar|0>||code<1>||upd<3>" - из выбранных путей заданных файлов создать N_BAR.bar в другой панели "sends=PS<"%P"//1//-1//*.bat|*.cmd|*.exe>??-1 GLOBALSENDS<b> GLOBALARRAY<a>" - получить пути заданных файлов с рекурсией, после выбора нужных и нажатии кнопки "==>" получить пути в GLOBALARRAY "slist=%WL||&&(.*~~.*)!!''$1''||^^cmd:NUMBER:=||$$@CRLFbutton:NUMBER:=Wcmicons.dll,0@CRLFmenu:NUMBER:=||$$<info=f13:://>||$$@CRLFiconic:NUMBER:=0||#A[Buttonbar]@CRLFButtoncount=:NUMBER:@CRLF||save<"%T"N_BAR.bar|0>||code<1>||upd<3>" - для выделенных файлов создать файл N_BAR.bar в другой панели (вариант 1) "slist=%WL||&&(.*~~.*)!!''$1''||^^cmd:NUMBER:=||$$@CRLFbutton:NUMBER:=||$$''<info=f10:://>''||$$@CRLFmenu:NUMBER:=||$$<info=f13:://>||$$@CRLFiconic:NUMBER:=0||#A[Buttonbar]@CRLFButtoncount=:NUMBER:@CRLF||save<"%T"N_BAR.bar|0>||code<1>||upd<3>" - для выделенных файлов создать файл N_BAR.bar в другой панели (вариант 2)
01.05.2023 [32.7] [+] Оптимизирована команда joinz для объединения текстовых файлов - добавлены параметры delim<>, code<>, owrite<> - в команду delim<> добавлен подпараметр для вставки между файлами (так же и для команд stext, urlxt и др.) - добавлены глобальные переменные GLOBALJOINZ1, GLOBALJOINZ2, в GLOBALJOINZ в 2-ю ячейку добавлен итоговый размер файла [±] Исправлена ошибка в параметре owrite<> при режимах "10" и "11" [±] Исправлена ошибка в команде runhp (ключевые слова для вставки в справку типа $f10, @AutoItPID переводились в абсолютные пути) [+] В справку добавлено более 1800 ключевых слов для более быстрого поиска. - добавлены ссылки "name" для каждого параметра команд, полезно для онлайн справки и не только [±] Переписан код команды arhvup [+] Добавлена новая команда "clipw" [±] Исправлена ошибка при ключе MsBoxOrCounter=1 в секции [Setting] [+] Добавлена новая команда "urlsv" - добавлены глобальные переменные GLOBALURLSV0, GLOBALURLSV, GLOBALURLSV1, GLOBALURLSV2
Код
"stext=%WL||"%t"//0||delim<@CRLF=======@CRLF!!3>||upd<3>" - объединить выделенные текстовые файлы, вставив между содержимым "=======" и сохранить в другую панель именем первого файла
"joinz=%WL||"%t"//0//Summa.txt||delim<@CRLF=======@CRLF!!3>||progres<>||upd<3>" - склеить текстовые файлы активной панели с заданным разделителем и создать полученный файл в другой панели именем Summa.txt "joinz=%WL||"%t"//0//Summa.txt||delim<@CRLF=======@CRLF>||code<4>||progres<>||upd<3>" - склеить текстовые файлы активной панели с заданным разделителем, кодировкой и создать полученный файл в другой панели именем Summa.txt
"global joinz=%WL||"%t"//9//Summa.txt||delim<@CRLF!!3>||owrite<13|xxx>||progres<>||upd<3> GLOBALJOINZ0<a> GLOBALJOINZ<a> GLOBALJOINZ1<a> GLOBALJOINZ2<a>" - склеить текстовые файлы активной панели с заданным разделителем и создать полученный файл в другой панели именем Summa.txt и получить списки результатов (если файл существует, то целевому файлу добавляется расширение xxx)
"start=7-ZIP||x||list<%WL>||-o"%T"||-aoa||&&hide||&&wait||progres<>||upd<3>" - распаковать выделенные архивы в другую панель с заменой объектов [••] [•arhives] "start=7-ZIP||x||list<%WL>||-o"%T"*||-aoa||&&hide||&&wait||progres<>||upd<3>" - распаковать выделенные архивы в другую панель в подкаталоги с именами этих архивов с заменой объектов [••] [•arhives]
"clipw=%WL" - копировать в буфер обмена выделенные объекты "clipw=@%P%N" - копировать в буфер объект под курсором
"urlsv=C:\URL.txt|4||"%p"//0//SumUrl.txt||progres<>||upd<1>" - объединить содержимое всех страниц интернет ссылок из файла C:\URL.txt и сохранить в активную панель в файл SumUrl.txt "urlsv=C:\URL.txt|4||"%p"//0//SumUrl.txt||delim<@CRLF=======@CRLF!!3>||progres<>||code<3>||upd<1>" - объединить содержимое всех страниц интернет ссылок из файла C:\URL.txt и сохранить в активную панель в файл SumUrl.txt вс кодировкой UTF-8 "global urlsv=C:\URL.txt|4||"%p"//0//SumUrl.txt||progres<>||upd<1> GLOBALURLSV0<a> GLOBALURLSV<a> GLOBALURLSV1<a> GLOBALURLSV2<a>" - объединить содержимое всех страниц интернет ссылок из файла C:\URL.txt и сохранить в активную панель в файл SumUrl.txt и записать информацию в глобальные переменные
"sends=1,2,3??-6, GLOBALSENDS<a> <FOR> 1 <TO> GLOBALSENDS<0> exect=_ViewValues($GLOBALSENDS[:INDEX:]) <NEXT>" - поочерёдно получить в цикле данные массива [cycles] "sends=1,2,3??-6, GLOBALSENDS<a> exect=_ViewValues(_ArrayToString($GLOBALSENDS,'++',1))" - получить массив в строку с заданным разделителем
12.06.2023 [32.8] [+] Добавлена поддержка TC 11 в командах buttn и др. (используется пока ..\Files\Ini\TCIMG3264_10_5.ini) [+] В команды textv и spech добавлена передача данных через $GLOBALNAME[N] [+] Для команды "infos=3||18||File" добавлена дополнительная информация для MSI файлов [+] Оптимизированы параметры (см. Дополнение №10) - исправлена ошибка в режимах "n200", "a30" - добавлены параметры в режимы "o10", "o30", "o50" [+] Оптимизированы параметры (см. Дополнение №24) - добавлен режим "?8" - в режимы "&*" и "?N" добавлены параметры [±] Исправлена ошибка в команде clicx [+] Оптимизирована команда splis - исправлена ошибка в параметре paths<> - в 3-й обязательный параметр добавлена возможность передавать несколько размеров [+] В команды downh и downl добавлены глобальные переменные GLOBALDOWNH3 и GLOBALDOWNL3 [+] В команды reszf и reszs добавлен параметр backup<> [+] В команды folds и creat добавлен 1-й параметр "#Path"
Код
"bufsr=||clipset<1>" - изменить формат буфера обмена, текстовый формат ANSI "bufsr=||clipset<7>" - изменить формат буфера обмена, текстовый формат, содержащий символы в OEM наборе символов "bufsr=||clipset<13>" - изменить формат буфера обмена, текстовый формат в юникоде
"sends=100,200,300??-6, GLOBALSENDS<a> <FOR> 1 <TO> GLOBALSENDS<0> textv=$GLOBALSENDS[:INDEX:] <NEXT>" - поочерёдно получить в цикле данные массива [cycles] "sends=100,200,300??-6, spech=$GLOBALSENDS[1]" - открыть для прослушивания текста данные 1-й ячейки массива
"sends=<info=n200|https://xxx.zzz/1/2/3/4/5/6/7/|/|0|1|1>??-4 GLOBALSENDS<a>" - получить все части пути ссылки "sends=<info=n200|https://xxx.zzz/1/2/3/4/5/6/7/|/|0|1|1>??-4||&&([^|]*\|)(.+)!!$2 GLOBALSENDS<a>" - получить все части пути ссылки без начального https
"gends=[input=BOX107]??-1||@@UTF8inURL sends=#https://sanstv.ru/find_words?word=GLOBALGENDS<1>\\4??-1||?Fsanstv0:B:,sanstv1 GLOBALSENDS<a>" - получение составленных слов из слова/букв введённом в диалоге (русское/английское слово) через сайт sanstv.ru (вместо любой буквы может быть символ "*")
"sends=PS<C:\Archiv\Soft\//1//0//&&Set_\d\d\.\d\d\.\d\d\d\d\.rar>??-1 GLOBALSENDS<a>" - получить файлы вида "Set_11.05.2021.rar" в папке "C:\Archiv\Soft" [••] [•arhives] "moves=PS<C:\Archiv\Soft\//1//0//&&Set_\d\d\.\d\d\.\d\d\d\d\.rar>||C:\Archiv\BacKup\//0" - переместить файлы вида "Set_11.05.2021.rar" из папки "C:\Archiv\Soft" в папку "D:\Archiv\BacKup" [••] [•arhives]
"sends=$f212\T1.txt??-1||?8|$f212\T2.txt GLOBALSENDS<a>" - объединить строки двух файлов: в каждую строку 1-го вставить каждую строку 2-го (последовательно) "sends=$f212\T1.txt??-1||?8|$f212\T2.txt|1 GLOBALSENDS<a>" - объединить строки двух файлов: в каждую строку 1-го вставить каждую строку 2-го (поочерёдно) "sends=$f212\T1.txt??-1||?8|$f212\T2.txt|2 GLOBALSENDS<a>" - объединить строки двух файлов: в каждую строку 2-го вставить каждую строку 1-го (последовательно) "sends=$f212\T1.txt??-1||?8|$f212\T2.txt|3 GLOBALSENDS<a>" - объединить строки двух файлов: в каждую строку 2-го вставить каждую строку 1-го (поочерёдно) "sends=$f212\T1.txt??-1||?8|$f212\T2.txt|0|*** GLOBALSENDS<a>" - объединить строки двух файлов: в каждую строку 1-го вставить каждую строку 2-го (последовательно), разделитель "***"
"sends=%P%N??-1||&?(?im)((?:button|param|menu)\d+=[^\r\n]+) GLOBALSENDS<a>" - из BAR файла под курсором получить параметры button, param и menu "sends=%P%N??-1||&?(?im)((?:button|param|menu)\d+=[^\r\n]+)||&&(?im)^(button.*$)!!---------- GLOBALSENDS<a>" - из BAR файла под курсором получить параметры param и menu, разделённые "------" "sends=%P%N??-1||&?(?im)((?:button|param|menu)\d+=[^\r\n]+)||&&(?im)^(button.*$)!!----------||&&(?im)^((?:param|menu)\d+=)!! GLOBALSENDS<a>" - из BAR файла под курсором получить параметры param и menu, разделённые "------" без названия параметров
"extra=%WL||"%t"//0//ExMenu.txt||&?(?im)((?:button|param|menu)\d+=[^\r\n]+)||&&(?im)^(button.*$)!!----------||&&(?im)^((?:param|menu)\d+=)!!||ending<0>||code<1>||upd<3>" - из выделенных BAR файлов извлечь параметры param и menu, разделённые "------" без названия параметров, создав отдельные файлы "stext=%WL||"%t"//0//ExMenu.txt||&?(?im)((?:button|param|menu)\d+=[^\r\n]+)||&&(?im)^(button.*$)!!----------||&&(?im)^((?:param|menu)\d+=)!!||code<1>||upd<3>" - из выделенных BAR файлов извлечь параметры param и menu, разделённые "------" без названия параметров, создав общий файл
"modfs=%WL||0||<mdata=%T%M> modfs=%WL||1||<cdata=%T%M> modfs=%WL||2||<adata=%T%M>" - для выделенных объектов установить даты из объекта под курсоров другой панели "sends=x??-1||<info=o23%P%N//#~~mod@CRLF//o43%P%N//#~~creat@CRLF//o63%P%N//#~~acces> GLOBALSENDS<a>" - получить 3 даты объекта под курсором с добавлением названия "sends=x??-1||<info=o10%P%N|dd.MM.yyyy//#~~модификации@CRLF//o30%P%N|dd.MM.yyyy//#~~создания@CRLF//o50%P%N|dd.MM.yyyy//#~~доступа> GLOBALSENDS<a>" - получить 3 даты объекта под курсором в заданном формате с добавлением названия
"sends=x??-1||<info=o10%P%N|d~~MMMM~~yyyy> GLOBALSENDS<a>" - получить дату модификации объекта под курсором в заданном формате "sends=x??-1||<info=o10%P%N|d~~MMMM~~yyyy|0409> GLOBALSENDS<a>" - получить дату модификации объекта под курсором в заданном формате (английская локализация)
"bufsr=$$-[edits=BOX13]||$$_<info=s100dd.MM.yyyy>" - добавить к содержимому буфера через дефис текст введённый в диалоге и после этого текста через подчёркивание текущую дату
"start=RAR||-IBCK||x||%P%N||C:\RAR2tmp\||&&wait sends=PS<C:\RAR2tmp\//1//1//*.rar> start=RAR||-IBCK||x||GLOBALSENDS<1>||"%T"||&&wait||upd<3> delsm=C:\RAR2tmp\||1" - распаковать архив RAR, находящийся внутри архива RAR под курсором в другую панель (C:\RAR2tmp\ - временная папка) [••] [•arhives] "bends=%WL??-1 forpgs <FOR> 1 <TO> GLOBALBENDS<0> start=RAR||-IBCK||x||GLOBALBENDS<:INDEX:>||C:\RAR2tmp\||&&wait sends=PS<C:\RAR2tmp\//1//1//*.rar> start=RAR||-IBCK||x||GLOBALSENDS<1>||"%T"||&&wait delsm=C:\RAR2tmp\||1 <NEXT> tcimg=$cm540" - распаковать из выделенных RAR архивов, находящийся внутри RAR архив в другую панель (C:\RAR2tmp\ - временная папка) [••] [•arhives] [cycles]
"sends=-1??-1 copyy=%P%N||"%T"//0||copyn<GLOBALSENDS<0>> renms=$GLOBALCOPYY1||list<$GLOBALSENDS>||upd<3>" - дублировать объект под курсором в другую панель N-е количество раз, в зависимости от количества новых имён из буфера обмена
"bends=@в|а|п|в|п|р|а|А|п|р|Р|а|р|3|4|5|ц|у|а|3||?N1!!0!!| GLOBALBENDS<a>" - оставить в заданной строке фразы, которые не повторялись между разделителем "|" (учитывая регистр символов) "bends=@в|а|п|в|п|р|а|А|п|р|Р|а|р|3|4|5|ц|у|а|3||?N1!!1!!| GLOBALBENDS<a>" - оставить в заданной строке фразы, которые не повторялись между разделителем "|" (без учёта регистра символов)
"global downl="%p"//2||cliplist||progres<> GLOBALDOWNL0<a> GLOBALDOWNL<a> GLOBALDOWNL1<a> GLOBALDOWNL2<a> GLOBALDOWNL3<a>" - скачать список ссылок из буфера обмена в текущую панель, заменять при совпадении имён и получить списки скаченных файлов и не скаченных ссылок в глобальные переменные
"copyy=%P%N||x//0||allfold<$f212\FolderPaths.txt>||##[input=BOX108]" - копировать файл под курсором с переименованием базового имени в диалоге во все папки по списку из FolderPaths.txt
"splis=%WL||"%p"||200k,400k" - разбить выделенные файлы на части поочерёдно по 200 и 400 килобайт в активную панель в именные папки "slist=[tc=AM] zends=@[tc=AP] zlist=$GLOBALSLIST||?V|##|Floor(<info=f27:://>/3)||$$m||inline<!!,> splis=$GLOBALSLIST||GLOBALZENDS<1>||GLOBALZLIST<1>||paths<|@|#|1>||upd<1>" - разбить в активную панель выделенные файлы на части, каждый файл разбивается индивидуально на 3 или 4 части, исходя из его округленного размера
"sends=-1??-1||&?((\w:\\)(.+)) folds=GLOBALSENDS<2>||GLOBALSENDS<3>||fflag<2> patha=GLOBALSENDS<1>" - в активной панели перейти к папке (путь из буфера обмена), если папки не существует создаётся структура папок "sends=-1??-1||&?(\w:\\)(.+) folds=GLOBALSENDS<1>||GLOBALSENDS<2>||fflag<2>||jump<3>" - в активной панели перейти к папке (путь из буфера обмена), если папки не существует создаётся структура папок
"slist=cliplist||^^C:\Arh_tmp\ start=7-ZIP||x||list<%WL>||-oC:\Arh_tmp\||-aoa||&&hide||&&wait||progres<> moves=$GLOBALSLIST||"%t":://1//(.*\\)(\w:\\[^\\]*\\)([^\\]*)??(\\|\..*)//$1$3||upd<3> delsm=C:\Arh_tmp\||1" - из выделенных архивов извлечь в другую панель в именные папки объекты корневого уровня по списку из буфера обмена (C:\Arh_tmp\ - временная папка) [••] [•arhives] "slist=cliplist||^^C:\Arh_tmp\ anf2d=%WL||1||##@@o72:: forpgs <FOR> 1 <TO> GLOBALANF2D<0> start=7-Zip||x||-aoa||-oC:\Arh_tmp\||GLOBALANF2D0<:INDEX:>||&&hide||&&wait moves=$GLOBALSLIST||"%t"GLOBALANF2D1<:INDEX:>//1||noprogres<> delsm=C:\Arh_tmp\||1 <NEXT> tcimg=$cm4006|540|4006" - из выделенных архивов извлечь в другую панель в именные папки архивов объекты корневого уровня по списку из буфера обмена (C:\Arh_tmp\ - временная папка) [••] [•arhives] [cycles]
"reszf=%P%N||4||backup<1>||upd<1>" - изменить размер файла под курсором: обнулить размер, создать бекап файла "reszs=%WL||4||progres<>||backup<1>||upd<1>" - изменить размер выделенных файлов: обнулить размер, создать бекап файлов
"folds=#C:\1\2\3\4\5\6\7\8\9" - создать структуру папок "folds=#clipasis" - создать структуру папок, полный путь из буфера обмена "sends=-1??-1 folds=#GLOBALSENDS<1>" - создать структуру папок, полный путь из буфера обмена "folds=#clipasis||fflag<2>||jump<3>" - в активной панели перейти к папке (путь из буфера обмена), если папки не существует создаётся структура папок
"creat=#C:\1\2\3\4\5\6\7\8\9\test.txt" - создать пустой файл "creat=#clipasis" - создать пустой файл, полный путь из буфера обмена
"sends=^LISTF<C:\1.txt/C:\2.txt/C:\3.txt>??-1 GLOBALSENDS<a>" - объединить заданные файлы "stext=LISTF<C:\1.txt/C:\2.txt/C:\3.txt>||"%p"//0//Summa||delim<@CRLF!!3>||upd<1>" - объединить содержимое файлов c:\1.txt, c:\2.txt, c:\3.txt с разделителем в другую панель именем Summa и расширением первого файла
03.08.2023 [33.1] [+] В команды copys и moves добавлен параметр sizex<> [±] Исправлена ошибка в командах copys и moves в параметре listz<> при передачи данных глобальным переменным [+] В команду split добавлен параметр str<> [+] В команды websc и webss добавлены глобальные переменные GLOBALWEBSC1, GLOBALWEBSC2 и GLOBALWEBSS1, GLOBALWEBSS2 - исправлена ошибка в команде websc при создании большого количества скриншотов (не удалялся предыдущий дескриптор изображения) [+] Оптимизированы параметры (см. Дополнение №15) - в подпараметр :C: добавлен разделитель "++" для обработки последовательных ключей [+] Оптимизированы параметры (см. Дополнение №24) - добавлен режим "#9" [±] Исправлена ошибка в пересечении имён сокращений $f путей (см. Дополнение №8) [+] Оптимизированы параметры (см. Дополнение №10) - добавлены режимы "e221", ..., "e240", "e221~Level" [+] Оптимизирован функционал параметров PS<>, FOLDM<>, LISTC<> (см. Дополнение №22), а так же параметра <xfolder=> (см. Дополнение №11) - добавлена возможность получать объекты только заданного уровня "=N" (Recursion)
Код
"sends=@Привет\n\nРазбиваем\r\nСтроку\r\rПо\n\rФразам??~1!!((\\n|\\r)+) GLOBALSENDS<a>" - разбить строку по заданному регулярному выражению "sends=@Привет\n\nРазбиваем\r\nСтроку\r\rПо\n\rФразам??~0!!(?:\\n|\\r)*([^\\]+) GLOBALSENDS<a>" - разбить строку по заданному регулярному выражению
"copys=%WL||"%t"//0||sizex<2M|size_2mb>||upd<3>" - выделенные файлы копировать в другую панель в папки "size_2mb" со счётчиком (приблизительный размер папки 2Mb) "moves=%WL||"%t"//0||sizex<2M|size_2mb>||upd<3>" - выделенные файлы переместить в другую панель в папки "size_2mb" со счётчиком (приблизительный размер папки 2Mb)
"split=%P%N||"%t"||360k||str<1>||progres<>||upd<3>" - разбить текстовый файл под курсором на части по 360 килобайт в другую панель в именную папку (сохраняется целостность строк) "split=%P%N||"%t"||40m||str<1>||progres<>||upd<3>" - разбить большой текстовый файл под курсором на части по 40 мегабайт в другую панель в именную папку (сохраняется целостность строк)
"renms=%WL||&&(.*)(\d{2}).(\d{2}).(\d{4})(.*)!!$4-$3-$2___$1____$5" - переименовать выделенные объекты: дату формата ДД.ММ.ГГГГ переместить в начало имени в формате ГГГГ-ММ-ДД
"global websc=cliplist||"%p"//1||x|png||progres<>||upd<1> GLOBALWEBSC0<a> GLOBALWEBSC<a> GLOBALWEBSC1<a> GLOBALWEBSC2<a>" - создать в активной панели скриншоты выделенных текстовых файлов -html (формат .PNG, базовое имя создаётся из файла) и получить списки результатов [••] [•image]
"textt=%P%N||&?(?m)^\[em_[^]\r\n]+_[^]\r\n]+\].*(?:[\r\n]+[^[\r\n][^\r\n]*)*||upd<1>" - в INI файле под курсором оставить секции вида "[em_xxx_xxx]" (вместо x любая буква)
"sends=%P%N??-1||?Ft1++t5:C:@CRLF=============@CRLF GLOBALSENDS<a>" - получить различную информацию из файла под курсором, согласно регулярным выражениям, взятых из секции [FormatUser]
"sends=PS<"%p"//1//0//*.inf//0//0//3>??-1 renmm="%p\Descript\"||##GLOBALSENDS<1>||upd<1>" - переименовать папку "Descript" в активной панели именем файла INF, находящегося рядом с папкой
"sends=%P%N??-1||?Fsym1||#9|30000|Chr(124)||&&(?m)(.+)!!(?m)^.*\(${1}\)\\R+\|\| GLOBALSENDS<a>" - из строк файла под курсором создать строки для регулярного выражения не более 30.000 символов
"sends=[tc=AL-1f]??-1 GLOBALSENDS<a>" - получить список всех путей файлов активной панели "bends=[edits=BOX_V01]||?F63,sym1||@CRLF!!Chr(124)||^^(?im)^(.*\\(?:||$$)[^\\\r\n]*)$ GLOBALBENDS<a>" - для введённых имён составить регулярное выражение и вывести в таблице "bends=[edits=BOX_V01]||?F63,sym1||@CRLF!!Chr(124)||^^(?im)^(.*\\(?:||$$)[^\\\r\n]*)$ sends=[tc=AL-1f]??-1||&?GLOBALBENDS<1> GLOBALSENDS<a>" - из активной панели получить пути файлов, имена которых введены в диалоге "tcprm=LOADSELECTION||C:\List.txt" - в активной панели выделить файлы по списку C:\List.txt (каждый путь файла с новой строки) "bends=[edits=BOX_V01]||?F63,sym1||@CRLF!!Chr(124)||^^(?im)^(.*\\(?:||$$)[^\\\r\n]*)$ sends=[tc=AL-1f]??-1||&?GLOBALBENDS<1> tcprm=LOADSELECTION||GLOBALSENDS<t>" - в активной панели выделить файлы, начальные названия имён которых введены в диалоге "bends=[edits=BOX_V01]||?F63,sym1||@CRLF!!Chr(124)||^^(?im)^(.*\\[^\\\r\n]*(?:||$$)[^\\\r\n]*)$ sends=[tc=AL-1f]??-1||&?GLOBALBENDS<1> tcprm=LOADSELECTION||GLOBALSENDS<t>" - в активной панели выделить файлы, частичные имена которых введены в диалоге "bends=[edits=BOX_V01]||?F63,sym1||@CRLF!!Chr(124)||^^(?im)^(.*\\[^\\\r\n]*(?:||$$)[^\\\r\n]*)$ sends=[tc=AL-1f]??-1||&?GLOBALBENDS<1>||"%P"!! tcprm=LOADSELECTION||GLOBALSENDS<t>" - в активной панели выделить файлы, частичные имена которых введены в диалоге (работает при CTRL+B - при отображении файлов без подкаталогов)
"bends=[edits=BOX_V01]||?F63,sym1||@CRLF!!Chr(124)||^^(?im)^(.*\\(?:||$$)[^\\\r\n]*)$ sends=[tc=AL-1f]??-1||&?GLOBALBENDS<1> asave=GLOBALSENDS||C:\MyList.txt|1||code<1> tcprm=LOADSELECTION||C:\MyList.txt" - в активной панели выделить файлы, имена которых введены в диалоге (предварительная запись списка в файл C:\MyList.txt)
"sends=-1||##<info=e221::> GLOBALSENDS<a>" - получить родительскую папку ссылки без имени схемы и доменного имени "sends=-1||##<info=e222::> GLOBALSENDS<a>" - получить дедушкину папку ссылки без имени схемы и доменного имени
"infos=3||11||%P%N||SELECT~~*~~FROM~~moz_cookies;||1 arr2d=$GLOBALINFOS||17|1|TRUE@TAB/@TABFALSE brr2d=GLOBALARR2D||49|1:10 asave=GLOBALBRR2D||"%t"\cookies.txt|1||upd<3>" - из cookies.sqlite под курсором записать первые 10 строк в файл cookies.txt в другую панель (заменив данные в 1-й колонке на "TRUE / FALSE") "infos=3||11||%P%N||SELECT~~*~~FROM~~moz_cookies;||1 arr2d=$GLOBALINFOS||17|1|TRUE@TAB/@TABFALSE brr2d=GLOBALARR2D||49|-10:-1 asave=GLOBALBRR2D||"%t"\cookies.txt|1||upd<3>" - из cookies.sqlite под курсором записать последние 10 строк в файл cookies.txt в другую панель (заменив данные в 1-й колонке на "TRUE / FALSE")
"sends=PS<"%P"//1//0//##(?i)^.+Psiphon[^\\\r\n]*\.exe$>??-1 GLOBALSENDS<a>" - в активной панели найти файлы типа "Psiphon 3.179.exe" "sends=PS<"%P"//1//0//##(?i)^.+Psiphon[^\\\r\n]*\.exe$>??-1 start=GLOBALSENDS<1>||/SILENT||/PORTABLE=1" - в активной панели найти файлы типа "Psiphon 3.179.exe" и запустить первый для установки
"start="%p_Unpack Portable.cmd"" - запустить cmd файл в активной панели
"slist=PS<"%T"//2//0>||test<1f!!1!!0!!PsiPhon.f_l> GLOBALSLIST<a>" - получить пути папок неактивной панели , в которых есть файл PsiPhon.f_l в 1-м уровне "slist=PS<"%T"//2//0>||test<1f!!1!!0!!PsiPhon.f_l>||$$PsiPhon.f_l GLOBALSLIST<a>" - получить пути файлов PsiPhon.f_l находящиеся в папках 1-го уровня неактивной панели "sends=PS<"%T"//1//1//PsiPhon.f_l>??-1 GLOBALSENDS<a>" - получить пути файлов PsiPhon.f_l находящиеся в корневом каталоге и папках 1-го уровня неактивной панели "sends=FOLDC<PS<"%T"//2//0>//0//1//PsiPhon.f_l>??-1 GLOBALSENDS<a>" - получить пути файлов PsiPhon.f_l находящиеся в папках 1-го уровня неактивной панели "exect=$var_i=FileExists('"%T"PsiPhon.f_l')||_ViewValues('$var_i')" - возвращает 1 - если файл PsiPhon.f_l существует в неактивной панели и 0, если нет
"sends=PS<"%P"//2//=2>??-1 GLOBALSENDS<a>" - в активной панели получить папки только 2-го уровня "sends=PS<"%P"//1//=2>??-1 GLOBALSENDS<a>" - в активной панели получить файлы только 2-го уровня "sends=PS<"%P"//0//=2>??-1 GLOBALSENDS<a>" - в активной панели получить файлы и папки только 2-го уровня
Andrey_A, Да, уточнение - не работает при больших размерах изображения, например 20000х15000 пкс и выше. Вроде бы что-то копирует в буфер, но при вставке в любое приложение (word, visio, excel, paint) - выдает ошибку: "Данные из буфера обмена невозможно вставить". При этом стандартное приложение "Фотографии" справляется с задачей, там в меню "Подробнее" есть кнопка "Копировать Ctrl+C". Помещает такие изображения в буфер обмена с последующей правильной вставкой.
MonarchLFV, вы выслали 2 изображения. Итог тестирования на WIN10
1. Изображение "Разварка_Страница_2.png" нормально отрабатывает команда "iclip=%P%N" и при вставке в программу Paint проблем нет - при просмотре такого файла в Windows и КОПИРОВАНИИ - ничего не происходит - буфер пуст - и вставить ничего невозможно
2. Изображение "Схема.png" даже при родных системных программах приводит к ошибке - и выносит диалог о изменении размера такого файла - программа Paint даже если указать путь к этому файлу выдаёт ошибку "Неправильное изображение" или диалог "Изменения размера" - при просмотре такого файла в Windows и КОПИРОВАНИИ - ничего не происходит - буфер пуст
3. Могу предложить заранее уменьшать такие файлы для отправки в буфер
Код
TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe global imgpr=1 imgcf=%P%N||$f254//1||resize<1,50%%> iclip=GLOBALIMGCF1<1> %COMMANDER_PATH%\Wcmicons.dll,1 Файл изображения уменьшить пропорционально на 50% и записать в буфер обмена для вставки его в графические программы