[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Andrey_A, simup, ХарВик, chip642  
TCIMG - Мощное средство автоматизации
Andrey_AДата: Вторник, 12.06.2012, 04:41 | Сообщение № 1
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
TCIMG




Дата выпуска: 18.08.2025
Версия: 35.5
Автор: Averin Andrey
Скачать: Страница обновления TCIMG
Скачать 2 : Ссылка обновления TCIMG
Справка: TCIMG ONLINE

'=============================== Спасибо ================================
Выражаю искреннюю благодарность всем, кто напрямую или косвенно помогал и повлиял на развитие проекта, отдельное спасибо: Loopback, LonerD, GGG8, ХарВик, shveicar, Yashied, asmadeus, amel27, madmasles, CreatoR, Ward, thesittingbull, Metchnik, InnI, wakillon, Yaroslav, Abel11, chip642, Deus-V, inververs, sims, BezDNaU, Veosys, getaumy, UEZ, homer77, wpitty, JKT, vakula, boriska, =BD=, G.Sandler, Mrakobes, mopodede, Skif_off, wpitty, Rustamer, wpitty, Mchoff, iifoks447, Andarin, oshizelly, Egorkaru, coherent, Атос, yug78, vanhallen, mopodede, Афи, Axel, addhaloka, Matros, Finn, Aleks431, Zmy, Паразит, TarasBY, Userrr, Jury Abel', VikTor1985, HA3APET, alexxxxx, konuk2007, Lupo73, Prog@ndy, Avada, monoceres, авторам библиотеки MediaInfo, авторам Carl Worth и Behdad Esfahbod библиотек Cairo, авторам библиотеки librhash, авторам библиотеки Bass, авторам библиотеки FFmpeg, автору Zenden за утилиту ImgUpload, Slava10779, maK, zep, Rako1, zzzten, Nuker-Hoax, regist123, shusler, sibirnik, Romario, Lord_NEVR, Ли Чжицзюнь (李志军), ruizone (瑞), alexostrov, CaptainFlint, Thomasmolover, eukalyptus, Tuape, Helpmister, NIKZZZZ, smit0966, rediffusion, zybrevl, Rioran, I95, Vimann, And000010, VasRoman, MonarchLFV, jktgeorge, Mario Arhivario, Songbird, Malkey, Placetoload, ziabriev, Antonij72, weaponx, Angelfuze, Pendelgrast, smit0966, Jacob, Rakosvist, Karbucho, Karolinka69, SLIM, ogenry, VladMo, jentoso, Kindom, Megakrok, Altruumann, vaskamy, Alizadombej, Krasovskii, Kurolesova, Svetka99, AkulaBig, Proudhawk, Yymn7, vruzin, Xprajs, Danyfirex, Party Hu, Lost Zombie, derrikF, Karabush, aorist, o2candoo, goog0le, P8gonyajlo, destiny child, Alex Penguin, Broken_Brain, rupinskiy, FedorLashchenko, destiny_child, JenTOSO, моим близким друзьям и родственникам: одним спасибо, что поддерживали, другим - за то, что не мешали!
'=======================================================================
TCIMG - утилита для вызова различных команд Total Commander и выполнения дополнительных действий.
Мощное средство для расширения функциональности Total Commander и других программ.
Направлена на автоматизацию монотонных действий, связанных с файловыми, системными, программными, оконными операциями.
Полностью портабельна, т.е. не требует установки и не вносит в реестр или куда-либо ещё дополнительную информацию.
Утилита представляет из себя скомпилированный AutoIt3-скрипт.
Утилиту разрешено распространять только с указанием сайта поддержки: http://tc-image.3dn.ru




Кнопки для TCIMG

Регулярные выражения

Control Viewer - Просмотр информации элементов окна

Страница обновления TCIMG

Как правильно обновлять утилиту TCIMG?



В справке TCIMG.chm более 16.850 примеров применения.

Актуальная версия (бета версии) в последних сообщениях темы

Тема развития справки утилиты

Расширение функционала TCIMG

Помощь и советы ПОДКЛЮЧЕНИЕ ПРОГРАММ и СКРИПТОВ

Для запросов кнопок тема ЗАКАЗ КНОПОК

Дополнительное обсуждение TCIMG на forum.ru-board

Группа в Telegram


Сборки программ, в которых участвует утилита TCIMG, в них так же можно увидеть много интересных примеров:
AkelPad Image - сборка текстового редактора AkelPad (автор Andrey_A)
TC IMAGE - сборка файлового менеджера Total Commander (автор Andrey_A)
TC VIM - сборка файлового менеджера Total Commander (автор Matros)
TC Universal Edition - сборка файлового менеджера Total Commander (авторы Yaroslav & asmadeus)
TC Hot-Shot - сборка файлового менеджера Total Commander (автор ice_daemon)
TC Titan Portable - сборка файлового менеджера Total Commander (автор pcDenPro)
TC AkulaBig - сборка файлового менеджера Total Commander (автор AkulaBig)
TCnative - сборка файлового менеджера Total Commander (автор ziabriev)






 
Andrey_AДата: Среда, 18.12.2019, 13:19 | Сообщение № 3301
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Цитата
И можно что то придумать для start что бы была альтернатива считывания комментариев для списка изображений сразу с записью в глобальные переменные? например команда
Код
cmdbt=''''?ExifTool?''~~-r~~-comment~~''%P%N''''||std<8>
выводит данные в окно, без временного файла


Теперь можно: Тестовая версия TCIMG 269_b3, в версии TCIMG 26.8 замените соответствующие файл(ы)

[helpquote]
[±] Исправлена ошибка в командах stext
[+] Оптимизирован функционал параметра info (см. Дополнение №10#i)
- изменён разделитель для режимов i20 - i215
[+] Оптимизирована команда start
- добавлен параметр std<>
- добавлены глобальные переменные GLOBALSTOUT, GLOBALSTERR
[/helpquote]

Последние примеры:
Код

"sends=@<info=o250$f250tcimg.ini|180//> GLOBALSENDS<a>" - получить путь заданного файла учитывая регистр символов

"global start=ExifTool||list<%WL>''~~-r~~-all''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<> GLOBALSTOUT<a>" - получить информацию о выделенных изображений с помощью ExifTool
"global start=Exiftool||list<%WL>''~~-r~~-all''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<> anf2d=$GLOBALSTOUT||2||([^\r\n]+)||begin<0> GLOBALANF2D<a>" - получить информацию о выделенных изображений с помощью ExifTool в 2D массиве
"global start=Exiftool||list<%WL>''~~-r~~-all''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<> anf2d=$GLOBALSTOUT||2||([^\r\n]+)||begin<0>||tr<1> GLOBALANF2D<a>" - получить информацию о выделенных изображений с помощью ExifTool в транспонированном 2D массиве
"global start=ExifTool||list<%WL>''~~-r~~-comment''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<> GLOBALSTOUT<a>" - получить комментарии для выделенных изображений с помощью ExifTool



.


 
Andrey_AДата: Четверг, 19.12.2019, 01:35 | Сообщение № 3302
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Кое-что добавил к последней теме:

Тестовая версия TCIMG 269_b4, в версии TCIMG 26.8 замените соответствующие файл(ы)

[helpquote]
[±] Исправлена ошибка в командах stext
[+] Оптимизирован функционал параметра info (см. Дополнение №10#i)
- изменён разделитель для режимов i20 - i215
[+] Оптимизирована команда start
- добавлены параметры std<> и stdcnv<>
- добавлены глобальные переменные GLOBALSTOUT, GLOBALSTERR
- добавлено, если строка программы начинается с "cmd", то строка параметров передаётся как есть (по принципу команды cmdbt)
[+] Добавлен параметр stdcnv<> в команду cmdbt
[+] Оптимизирована UDF функция _ArrayDisplay() и отображение массивов в GLOBALNAME<a(b,z,w,e,g)>
- добавлены в секцию [InfoList] ключи с приставкой "k", позволяющие прописывать шаблон шрифта и цвета таблицы
- исправлена ошибка установки цвета шрифта
[/helpquote]

Последние примеры:
Код

"sends=@<info=o250$f250tcimg.ini|180//> GLOBALSENDS<a>" - получить путь существующего заданного файла учитывая регистр символов

"global start=ExifTool||list<%WL>''~~-r~~-all''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<> GLOBALSTOUT<a>" - получить информацию о выделенных изображений с помощью ExifTool
"global start=ExifTool||list<%WL>''~~-r~~-all''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<> anf2d=$GLOBALSTOUT||2||([^\r\n]+)||begin<0> GLOBALANF2D<a>" - получить информацию о выделенных изображений с помощью ExifTool в 2D массиве
"global start=ExifTool||list<%WL>''~~-r~~-all''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<> anf2d=$GLOBALSTOUT||2||([^\r\n]+)||begin<0>||tr<1> GLOBALANF2D<a>" - получить информацию о выделенных изображений с помощью ExifTool в транспонированном 2D массиве
"global start=ExifTool||list<%WL>''~~-r~~-comment''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<> GLOBALSTOUT<a>" - получить комментарии для выделенных изображений с помощью ExifTool
"global start=ExifTool||list<%WL>''~~-r~~-comment''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<>||stdcnv<&&([^:]+[\h:]+)(.*)!!$2> GLOBALSTOUT<a>" - получить комментарии без тега для выделенных изображений с помощью ExifTool

"global start=7-ZIP||l||list<%WL>''||begin<cmd~~/c~~''>||&&hide||std<2>||progres<> GLOBALSTOUT<a> anf2d=$GLOBALSTOUT||2||([^\r\n]+)||begin<0>||tr<1> GLOBALANF2D<a>" - получить информацию для выделенных архивов под курсором с помощью архиватора 7-Zip [••] [•arhives]

"global start=cmd~~/c~~DIR~~''list<%WL>''*.*~~/B~~/A-D~~/S||&&hide||std<2>||progres<> GLOBALSTOUT<a> anf2d=$GLOBALSTOUT||2||([^\r\n]+)||begin<0>||tr<1> GLOBALANF2D<a>" - получить список файлов выделенных папок с рекурсией
"global start=cmd~~/c~~DIR~~''list<%WL>''*.*~~/B~~/A-D~~/S||&&hide||std<2>||progres<>||stdcnv<^^::@CRLF> anf2d=$GLOBALSTOUT||2||([^\r\n]+)||begin<0>||tr<1> GLOBALANF2D<a>" - получить список файлов выделенных папок с рекурсией с добавлением в начало путь начальной папки

"start=cmd~~/c~~''''?GifSicle?''~~''list<%WL>''~~--colors~~256~~-O3~~>~~''%T\anim:NUMBER:.gif''''||&&hide||&&wait||upd<3>" - оптимизировать и уменьшить количество цветов в выделенных GIF файлах и сохранить новый файл в другую панель с помощью утилиты GifSicle

"global start=cmd~~/c~~''''?FFmpeg?''~~-i~~''list<%WL>''''||&&hide||std<8>||progres<> GLOBALSTOUT<a> anf2d=$GLOBALSTOUT||2||([^\r\n]+)||begin<0>||tr<1> GLOBALANF2D<a>" - получить информацию для выделенных медиафайлов с помощью FFmpeg [••] [•video]

"global start=cmd~~/c~~''''?PDFInfo?''~~''list<%WL>''''||&&hide||std<2>||progres<>||stdcnv<^^::@CRLF> GLOBALSTOUT<a> anf2d=$GLOBALSTOUT||2||([^\r\n]+)||begin<0>||tr<1> GLOBALANF2D<a>" - получить информацию для выделенных PDF файлов с помощью PDFInfo в 2D массиве
"global start=cmd~~/c~~''''?PDFInfo?''~~''list<%WL>''''||&&hide||std<2>||progres<>||stdcnv<^^::@CRLF;;#K25~-1~1~@CRLF!!/_> sends=$GLOBALSTOUT??-1 GLOBALSENDS<z|1|8|k1>" - получить информацию для выделенных PDF файлов с помощью PDFInfo в 1D массиве

"global cmdbt=for~~%%i~~in~~(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)~~DO~~(if~~exist~~%%i:\~~echo~~Disk~~%%i:~~exist)||std<8>||stdcnv<&?(?m)(.*exist$)> GLOBALCMDBT<a>" - получить строки существующих дисков
"global cmdbt=for~~%%i~~in~~(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)~~DO~~(if~~exist~~%%i:\~~echo~~Disk~~%%i:~~exist)||std<8>||stdcnv<&?(?m)(\w:)\hexist$> GLOBALCMDBT<a>" - получить буквы существующих дисков

"nlist=%WL GLOBALNLIST<z|0|iA_A1|kS1> GLOBALNLIST<e|0|iA_2|kS2>" - просмотреть пути выделенных файлов (в таблице настройки значков берутся из секции [InfoList] из ключей "iA_A1" и "iA_A2", настройки текста берутся из ключей "kS1" и "kS2")



.


 
asmadeusДата: Четверг, 19.12.2019, 18:54 | Сообщение № 3303
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Переименование некорректно работает с параметром srlist
Код
renms=PS<"D:\test"//1//0//*.txt//0>||<srlist=d:\List.txt|#|1>
renms=PS<"D:\test"//1//0//*.txt//0>||<srlist=$GLOBALARR2D>

Ни один с вариантов. Не переименовывает, но убивает около сотни файлов
Писать в цикл и поштучно?
 
Andrey_AДата: Четверг, 19.12.2019, 19:39 | Сообщение № 3304
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Цитата asmadeus ()
Ни один с вариантов. Не переименовывает

У меня работает все без отклонений, пробовал так:

Код
renms=%WL||<srlist=c:\List.txt|#|1>
renms=PS<"%P"//1//0//*.txt//0>||<srlist=c:\List.txt|#|1>


В c:\List.txt
Код
найти=заменить
привет=пока


возможно в List.txt что-то особенное

.


 
asmadeusДата: Четверг, 19.12.2019, 20:27 | Сообщение № 3305
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, что ж, будем искать. В листе цифры, возможно пересечения сбивают с толку. Хотя какие могут быть пересечения при работе с заменой по двумерному массиву....
 
Andrey_AДата: Четверг, 19.12.2019, 21:06 | Сообщение № 3306
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
asmadeus, все может быть - надо пример листа, чтобы тестировать
Цитата asmadeus ()
В листе цифры

тем более надо смотреть, т.к. сам можешь посмотреть функцию StringReplace() , где цифра может являться и символм начала замены...

[helpquote]searchstring/start Строка поиска или позиция символа начала замены. [/helpquote]

.


 
asmadeusДата: Четверг, 19.12.2019, 21:48 | Сообщение № 3307
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, это решил. Ввел этап промежуточного переименования. А потом окончательного.
Типа как то так:
Код
flist=$GLOBALBLIST||^^abc_
brr2d=$GLOBALBLIST||16|1|$GLOBALFLIST
crr2d=$GLOBALFLIST||16|1|$GLOBALDLIST
renms=PS<"D:\test\Iconlib"//1//0//*.ico//0>||<srlist=$GLOBALBRR2D>
renms=PS<"D:\test\Iconlib"//1//0//*.ico//0>||<srlist=$GLOBALCRR2D>

Но при поиске и замене в содержимом файла (ситуация примерно та же) так уже не выкрутится.
Если укажу заменить "0" на "3", это ж сколько нулей у меня заменится...
Список примерно так выглядит:
Код
1=0
2=1
3=2
931=3
4=4
5=5
414=6
2049=7
2199=8
2198=9
520=10

Слева от равно - значение ключа, которое надо заменить в ини файле. Справа от равно - то, чем надо заменить
 
Andrey_AДата: Суббота, 21.12.2019, 18:47 | Сообщение № 3308
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
asmadeus, конечно при таких списках только волшебник заменит правильно.
Я бы пошёл другим путём - с цифрами всегда есть что-то одинаковое (если этот файл подлежит автоматизации) и составлять соответственно, если имеется ввиду WCMICONS.INC, то List
Код
1=*0=
2=*1=
3=*2=
931=*3=
4=*4=
5=*5=
414=*6=
2049=*7=
2199=*8=
2198=*9=
520=*10=


Код
textt=%P%N||<srlist=c:\List.txt|#|1|1|0|1|0|*>||upd<1>


или с перенос строки вставлять...

.


 
asmadeusДата: Суббота, 21.12.2019, 19:41 | Сообщение № 3309
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, не понял назначения твоего листа. Смотрю, чем пытаться автоматизировать, давно бы уже вручную записал.
Но это не наши методы
 
Andrey_AДата: Суббота, 21.12.2019, 20:02 | Сообщение № 3310
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
Цитата asmadeus ()
не понял назначения твоего листа

Этот лист заменяет
Код
1=0
2=1
3=2
931=3
4=4
5=5
414=6
2049=7
2199=8
2198=9
520=10

В итоге:
Код
0=0
1=1
2=2
3=3
4=4
5=5
6=6
7=7
8=8
9=9
10=10

.


 
asmadeusДата: Суббота, 21.12.2019, 20:08 | Сообщение № 3311
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, типа двойной обработки?
 
Andrey_AДата: Суббота, 21.12.2019, 20:09 | Сообщение № 3312
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
asmadeus, Уже лет 10 прошу при текстовых операциях высылать текст ДО и ПОСЛЕ иначе получается разговор слепого с глухим...

.


 
asmadeusДата: Суббота, 21.12.2019, 20:22 | Сообщение № 3313
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, так я тебе лист замен написал. Правильно ты заметил, что это wcmicons.inc. Полностью кнопку не выкладываю, дабы не вводить в заблуждение - она то не рабочая
 
chip642Дата: Суббота, 21.12.2019, 21:19 | Сообщение № 3314
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1511
Награды: 62
Репутация: 59
asmadeus

В поиске замен "число=число"? Я уже не помню точно, скоро сами посмотрите как у меня (ролик снял, осталось комментариями снабдить и выложу с командами), но я там добавлял в начало значений wcmicons.dll, - далее заменял, а потом удалял wcmicons.dll. Вообще, учитывая что столько интереса лучше было бы создать отдельную тему.
 
asmadeusДата: Суббота, 21.12.2019, 21:36 | Сообщение № 3315
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
chip642, мы уже и не надеялись увидеть от тебя результат. По поводу замены иконок в главном меню у меня почти все работает
 
Поиск:

Интеллектуальные права и отказ от ответственности