[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · 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)






 
sibirnikДата: Воскресенье, 27.06.2021, 14:54 | Сообщение № 3751
Генерал-лейтенант

На сайте с: 27.08.2014
Сообщений: 742
Награды: 26
Репутация: 10
Andrey_A,
Спасибо вам за пояснения и советы...С моей скоростью переваривания информации и всех нужных действий - это надолго. Я вам отпишу наверное завтра о результате. Чтобы не отнимать у вас время. Направление действий вы указали - буду работать...

Добавлено (27.06.2021, 15:04)
---------------------------------------------
Andrey_A,
Хочу спросить, что выделяет эта кнопка?
Цитата
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
tcimg=$cm521 buttn=TCOMBOINPUT||+tcTCMARK1|$i>{Время}_Папки_с_изменениями_менее_48_часов|$h||+tcTCMARK5
Wcmicons.dll,349
Выделить файлы изменённые < 48 часов

Файлы или папки?
У меня она выделяет папки изменённые, так и должно быть?
А мне надо файлы.


Сообщение отредактировал sibirnik - Воскресенье, 27.06.2021, 15:04
 
Andrey_AДата: Воскресенье, 27.06.2021, 15:09 | Сообщение № 3752
Генералиссимус

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

Там в шаблоне написано - ПАПКИ
Для файлов отдельный шаблон
Код
tcimg=$cm521 buttn=TCOMBOINPUT||+tcTCMARK1|$i>{Время}_Файлы_с_изменениями_менее_48_часов|$h||+tcTCMARK5


.


 
sibirnikДата: Воскресенье, 27.06.2021, 16:58 | Сообщение № 3753
Генерал-лейтенант

На сайте с: 27.08.2014
Сообщений: 742
Награды: 26
Репутация: 10
Andrey_A,
Проблему решил(не могу сказать, что сделал, так как не запомнил что сделал) главное заработало. Ваши советы помогли 100%...Огромное спасибо вам за помощь.

Добавлено (27.06.2021, 19:23)
---------------------------------------------
Помогите пожалуйста
Имеется рабочая кнопка:
Цитата
imgpr=1 marks=0||test<1x!!#SISDATE!!-d10> ;; Выделить объекты, время модификации которых изменилось в течении последних 10-ти дней.

Прошу по возможности добавить в неё следующее: Выделить объекты, время создания или модификации, которых изменилось в течении последних 10-ти дней + Показать только выделенное в активной панели.

Вопросы и просьбу снимаю, так как всё удалось доделать самому.
tcimg=$cm2023 Вот короткий параметр, если кому интересно, который выводит на панель выделенный найденный результат.


Сообщение отредактировал sibirnik - Понедельник, 28.06.2021, 09:53
 
asmadeusДата: Воскресенье, 27.06.2021, 21:57 | Сообщение № 3754
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Andrey_A, работа с файлом затянется - только к нему приступил. Много контролов добавлено, классы впишу, а переменные тогда уже назначишь
 
Andrey_AДата: Воскресенье, 27.06.2021, 22:45 | Сообщение № 3755
Генералиссимус

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

.


 
MonarchLFVДата: Суббота, 03.07.2021, 02:44 | Сообщение № 3756
Майор

На сайте с: 04.06.2015
Сообщений: 81
Награды: 1
Репутация: 3
Подскажите, как обработать кнопку "Отмена" в Inputbox?
У меня кнопка начинается с кода:
Код
exect=$var_name=InputBox('Запрос','Введите~~имя~~файла','<info=f*63,62,61*~~-~~*([tc=AP])>')
и дальше код продолжается на выполнение. Проблема в том, что если нажать "Отмена", то код все равно продолжается с пустой переменной $var_name, а мне нужно остановить выполнение остальных команд.
И, думаю, в данном случае это сделать не отслеживая ошибку @error, а контролируя перемнную $var_name. Если она пуста, то код останавливается, здесь это уместно, так как и кнопка "Отмена" и ввод пустого значения в поле Inputbox вернут одинаково пустое значние.
 
Andrey_AДата: Пятница, 09.07.2021, 15:44 | Сообщение № 3757
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
MonarchLFV, ошибку @error никак не отследить, т.к. всё в команде exect делается командой Execute(...), а она не возвращает внутренние ошибки, поэтомй только проверка на пустоту с помощью тернарного условия:

Код
exect=$var_name=InputBox('Запрос','Введите~~имя~~файла','<info=f*63,62,61*~~-~~*([tc=AP])>')||$var_i='$var_name'?1:_Exit()||_ViewValues($var_name)


.


 
MonarchLFVДата: Суббота, 10.07.2021, 12:55 | Сообщение № 3758
Майор

На сайте с: 04.06.2015
Сообщений: 81
Награды: 1
Репутация: 3
Andrey_A, спасибо! То, что нужно!

Сообщение отредактировал MonarchLFV - Суббота, 10.07.2021, 13:08
 
Andrey_AДата: Суббота, 10.07.2021, 13:14 | Сообщение № 3759
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7212
Награды: 144
Репутация: 132
Аверин Андрей
MonarchLFV, необходимо соблюдать синтаксис, кроме этого функции типа _Exit() используются совместно с exect

Код
exect=$var_i=_Exit()


Для выхода есть ещё отдельная команда toexit

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
exect=$var_name=InputBox('Запрос','Введите~~имя~~файла','<info=f*63,62,61*~~-~~*([tc=AP])>') <IF> $var_name = '''' <THEN> toexit <ENDIF> exect=_ViewValues($var_name)
%COMMANDER_PATH%\Wcmicons.dll,1
Ввести значение в диалоге, если же диалог закрывается или нажимается кнопка "Отмена", то выход из программы

0
-1

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
exect=$var_name=InputBox('Запрос','Введите~~имя~~файла','<info=f*63,62,61*~~-~~*([tc=AP])>') <IF> $var_name > '''' <THEN> exect=_ViewValues($var_name) <ELSE> toexit <ENDIF>
%COMMANDER_PATH%\Wcmicons.dll,1
Ввести значение в диалоге, если же диалог закрывается или нажимается кнопка "Отмена", то выход из программы

0
-1


 
MonarchLFVДата: Суббота, 10.07.2021, 13:36 | Сообщение № 3760
Майор

На сайте с: 04.06.2015
Сообщений: 81
Награды: 1
Репутация: 3
Andrey_A, Понял, спасибо большое!
Если кому-то пригодится, кнопка
Код
exect=$var_n=InputBox('Запрос','Введите~~имя~~файла','<info=f*63,62,61*~~-~~*([tc=AP])>')||$var_i='$var_n'?1:_Exit() bufsr=&&(.*),(.*)!!$2,$1 global copyy=$f250\utilites\Шаблон.kml||"%p"||$var_n textt=GLOBALCOPYY<1>||@#@#@!!clpget||@p@l@!!$var_n||backup<0> clptoo ;; Создать KML полилинии по координатам из буфера обмена с сайта geobridge

и соответственно сам файл в папке $f250\utilites\Шаблон.kml с текстом (в кодировке UTF-8):
Код
<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.0"><Document><Folder>
<Placemark><name>@p@l@</name><description>@p@l@</description><LineString><coordinates>
@#@#@
</coordinates></LineString></Placemark></Folder></Document></kml>
 
Andrey_AДата: Суббота, 10.07.2021, 21:54 | Сообщение № 3761
Генералиссимус

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

TCIMG 29.2 от 10.07.2021

Скачать TCIMG 29.2





.


 
asmadeusДата: Воскресенье, 11.07.2021, 14:13 | Сообщение № 3762
Генералиссимус

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

Добавлено:
Хотя... Надо подумать)
 
Andrey_AДата: Понедельник, 12.07.2021, 18:48 | Сообщение № 3763
Генералиссимус

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

asmadeus, я сейчас даю кроме wincmd прямую ссылку... можно читать страницу, к примеру
http://forum.ru-board.com/topic.cgi?forum=5&topic=50714&start=0 и из неё брать ссылку или с этого сайта... а потом автоматизация скачивания

------------
Цитата
У меня есть скрипт js, который делает некие действия и получает данные, не могу понять как их передать в TCIMG
Там нет функции, там просто скрипт и нет Return


Реализовано в команде scrpt (см. Описание)

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

[helpquote]Команда script только запускает скрипты и не имеет возможности напрямую получать информацию от них.
Для получения информации от скриптов для дальнейшего использования в других командах можно воспользоваться:

1. Передача и приём STDOUT/STDERR потоков:
• запускаемый скрипт должен передавать данные в этот/эти потоки.
• необходимо использовать параметр std<>
• данные считываются и выводятся в глобальных переменных GLOBALSCRPT и GLOBALSCRPT1
• смотрите примеры скриптов в папке ...\Files\Scripts\Test\

2. Передача и приём данных через текстовый файл:
• запускаемый скрипт должен записать данные в файл.
• после команды данные из файла считываются последующими командами.
• смотрите примеры скриптов в папке ...\Files\Scripts\Test\[/helpquote]

[helpquote]
[+] Добавлено в команды textv и regex: @LF и @CR отображаются как переносы строк (только для Windows 10)
[+] Оптимизирован функционал команды script
- добавлены параметры std<>, encd<>, stdcnv<>, redir<>, param<>
- в папку ...\Files\Scripts\ добавлена папка Test и 18 скриптов с примерами передачи данных
- добавлены глобальные переменные GLOBALSCRPT0, GLOBALSCRPT, GLOBALSCRPT1
[±] Исправлена ошибка в команде modfx
[/helpquote]

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

"scrpt=Test\TestStdOut.au3||std<2> GLOBALSCRPT<a>" - пример запуска скрипта и получение от него данных, переданных через поток STDOUT
"scrpt=Test\TestStdErr.au3||std<4> GLOBALSCRPT1<a>" - пример запуска скрипта и получение от него данных, переданных через поток STDERR
"scrpt=Test\TestStd.au3||std<6> GLOBALSCRPT<a> GLOBALSCRPT1<a>" - пример запуска скрипта и получение от него данных, переданных через потоки STDOUT и STDERR
"scrpt=Test\TestFileWrite1.au3||&&wait sends=c:\tci_test.xxx??-1 GLOBALSENDS<a>" - пример запуска скрипта и получение от него данных, переданных через создаваемый файл с данными
"aends=@c:\tci_test2.xxx scrpt=Test\TestFileWrite2.au3||GLOBALAENDS<1>||&&wait sends=GLOBALAENDS<1>??-1 GLOBALSENDS<a>" - пример запуска скрипта и получение от него данных, переданных через заданный путь файла с данными

"scrpt=Test\TestStdOut.vbs||std<2>||stdcnv<?Fvjs1> GLOBALSCRPT<a>" - пример запуска скрипта и получение от него данных, переданных через поток STDOUT
"scrpt=Test\TestStdErr.vbs||std<4> GLOBALSCRPT1<a>" - пример запуска скрипта и получение от него данных, переданных через поток STDERR
"scrpt=Test\TestStd.vbs||std<6>||stdcnv<?Fvjs1> GLOBALSCRPT<a> GLOBALSCRPT1<a>" - пример запуска скрипта и получение от него данных, переданных через потоки STDOUT и STDERR
"scrpt=Test\TestFileWrite1.vbs||&&wait sends=c:\tci_test.xxx??-1 GLOBALSENDS<a>" - пример запуска скрипта и получение от него данных, переданных через создаваемый файл с данными
"aends=@c:\tci_test2.xxx scrpt=Test\TestFileWrite2.vbs||GLOBALAENDS<1>||&&wait sends=GLOBALAENDS<1>??-1 GLOBALSENDS<a>" - пример запуска скрипта и получение от него данных, переданных через заданный путь файла с данными

"scrpt=Test\TestStdOut.js||std<2>||stdcnv<?Fvjs1> GLOBALSCRPT<a>" - пример запуска скрипта и получение от него данных, переданных через поток STDOUT
"scrpt=Test\TestStdErr.js||std<4> GLOBALSCRPT1<a>" - пример запуска скрипта и получение от него данных, переданных через поток STDERR
"scrpt=Test\TestStd.js||std<6>||stdcnv<?Fvjs1> GLOBALSCRPT<a> GLOBALSCRPT1<a>" - пример запуска скрипта и получение от него данных, переданных через потоки STDOUT и STDERR
"scrpt=Test\TestFileWrite1.js||&&wait sends=c:\tci_test.xxx??-1 GLOBALSENDS<a>" - пример запуска скрипта и получение от него данных, переданных через создаваемый файл с данными
"aends=@c:\tci_test2.xxx scrpt=Test\TestFileWrite2.js||GLOBALAENDS<1>||&&wait sends=GLOBALAENDS<1>??-1 GLOBALSENDS<a>" - пример запуска скрипта и получение от него данных, переданных через заданный путь файла с данными

"scrpt=Test\TestStdOut.ahk||std<2> GLOBALSCRPT<a>" - пример запуска скрипта и получение от него данных, переданных через поток STDOUT
"scrpt=Test\TestFileWrite1.ahk||&&wait sends=c:\tci_test.xxx??-1 GLOBALSENDS<a>" - пример запуска скрипта и получение от него данных, переданных через создаваемый файл с данными

"scrpt=PS1.ps1||param<-Param1~~''%P%N''~~-Param2~~''%T%M''>||std<2>||redir<1> GLOBALSCRPT<a>" - пример запуска скрипта и получение от него данных, переданных через поток STDOUT
"scrpt=PS2.ps1||param<-Param1~~''%P%N''>||std<2>||redir<1> GLOBALSCRPT<a>" - пример запуска скрипта ps1, передача файла под курсором; скрипт возвращает первую строку

"scrpt=Test\TestStdOut.au3||std<2> GLOBALSCRPT0<a> GLOBALSCRPT<a>" - пример запуска скрипта и получение от него данных, переданных через поток STDOUT и получить строку запуска в GLOBALSCRPT0



.


 
MonarchLFVДата: Вторник, 13.07.2021, 06:07 | Сообщение № 3764
Майор

На сайте с: 04.06.2015
Сообщений: 81
Награды: 1
Репутация: 3
Andrey_A, можно ли отладить работу команд <HOTKEY=...> ... <HOTKEY=...> ... <HOTKEY=X> ...?
Сейчас они работают не совсем так, как хотелось бы, то есть команда например с шифтом запускается только в том случае, если удержан шифт до появления запускаемой команды, то есть не срабатывает сразу. Из-за этого появляется ощущение несработки.
Попытаюсь объяснить проблему подробнее по примеру из справки:
Код
<HOTKEY=10,11> infbx=||CTRL+SHIFT||3||120||40 <HOTKEY=11,12> infbx=||CTRL+ALT||3||120||40 <HOTKEY=10,12> infbx=||SHIFT+ALT||3||120||40 <HOTKEY=X> infbx=||НИЧЕГО||3||100||40

Если зажать Shift+Ctrl+клик по кнопке и сразу отпустить (до появления информационного окошка), то он определяет "Ничего". А если после клика с такой же комбинацией продолжать удерживать Shift+Ctrl до появления информационного окошка, то срабатывает как надо. Но это не совсем удобно - продолжать удерживать. Присутствует некоторое запаздывание сработки.
Есть крохотная утилитка, выполненная как раз для этих целей в ТС - PRESSED.EXE (автор ZMY, прямой ссылки на wincmd.ru нет, ее в одном из обсуждений мне посоветовали со ссылкой на яндекс диск, выгрузил на свое облако - https://cloud.mail.ru/public/19M8/vA6bAU5eU ). Вот она срабатывает как надо быстро, но у нее другие проблемы - нужно прописывать все команды, участвующие в кнопке в пользовательских командах ТС. Из-за этого теряется простота, для каждой такой кнопки приходится писать по 3 и больше пользовательских команд.
Хотелось бы видеть у вас такой же правильный и быстрый функционал, просто уверен, что в TCIMG все гораздо гибче получится.

Добавлено (13.07.2021, 11:23)
---------------------------------------------
И еще вопрос, как передать параметры батнику %P%S?

Код
start=Resave.bat||%P%S

Такая команда почему-то обрабатывает только первый выделенный файл из всех, хотя если в чистом виде запустить батник с параметрами %P%S, то передаются все выделенные файлы.


Сообщение отредактировал MonarchLFV - Вторник, 13.07.2021, 06:12
 
asmadeusДата: Вторник, 13.07.2021, 20:11 | Сообщение № 3765
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Цитата Andrey_A ()
из неё брать ссылку или с этого сайта... а потом автоматизация скачивания

Да, так и думал... Так и реализовал... Косячно, конечно, как и все у меня, но работает...
 
Поиск:

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