TCIMG (Часть 2) - [161] :: Программы :: Компьютерный форум Ru.Board
Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » TCIMG (Часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие темы: Часть 1 [?]


 
Дата выпуска: 04.07.2025
Версия: 35.2
Автор: Averin Andrey
 
Скачать TCIMG | Скачать 2 | Сайт | Онлайн справка | Основные вопросы | Функционал+ | Поддержка проекта

TCIMG - утилита для вызова различных команд Total Commander и выполнения дополнительных действий.
• Мощное средство для расширения функциональности Total Commander и других программ.
• Направлена на автоматизацию монотонных действий, связанных с файловыми, системными, программными, оконными операциями.
• Полностью портабельная, т.е. не требует установки и не вносит в реестр или куда-либо ещё дополнительную информацию.
• Возможность комфортного использования потенциала программ с поддержкой командной строки, например: [?]

ОСНОВНЫЕ ВОЗМОЖНОСТИ УТИЛИТЫ: [?]    
Спасибо [?]

Коллекция кнопок TCIMG для Total Commander | Как расширить функциональность самостоятельно

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

Сборки программ, в которых участвует утилита 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)
Если в состав Вашей сборки/программы входит TCIMG, сообщите, вставим в список.

Скачать справку  с тёмным стилем
Скачать справку на китайском языке TCIMG_Chinese.chm
Онлайн справка на китайском языке
Онлайн обсуждение TCIMG в группе Telegram

Всего записей: 39497 | Зарегистр. 26-02-2002 | Отправлено: 11:16 03-03-2021 | Исправлено: Andrey_A_A, 18:14 04-07-2025
destiny_child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abel11 (пост) [?]
Цитата:
Путь к TCIMG.exe у вас правильный в кнопке?

Если бы был неправильный - то вообще ничего бы не взлетало в диспетчере задач)))
 
А после этого нового кода у меня просто очистились панели. обе.
 
Проверьте, а что у вас будет с нераспакованными архивами? тоже будет работать?
По логике должно - ведь имена файлов существуют и там.
 
Добавлено:
ОК, заработало-таки.
Оказывается я совершенно не понимал - а сколько же времени может длиться эта операция и слишком нервно-рано тыкал  
мышкой в панелях. В итоге всё сбивалось.
В общем всё возвращается к той же просьбе/мысли, что я раньше озвучивал - если есть какие-то длительные операции,  
явно более 2/3 секунд происходящие - надо делать какой-то ?"контейнер"? команд, который автоматом будет показывать продолжительность времени выполнения этой операции каким-то прогресс-баром. ДА, в принципе такой функционал показа  
есть - но его надо самому догадываться куда вставлять и как настраивать.
А тут речь именно о встроенном функционале. Типа как обработка в мульти-потоке.  
Один поток работает главную цель - второй просто тупо показывает прогресс...

Всего записей: 4522 | Зарегистр. 01-04-2006 | Отправлено: 17:30 10-04-2025 | Исправлено: destiny_child, 17:50 10-04-2025
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny_child
 
Добавьте в начало параметров, через пробел >>>
 

Код:
imgpr=1

 
Отображает Gif-анимацию во время работы утилиты.
 
 

Всего записей: 1651 | Зарегистр. 08-12-2013 | Отправлено: 18:09 10-04-2025
destiny_child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abel11 (пост) [?]
Цитата:
Отображает Gif-анимацию

Да в курсе я этого. Ибо всё вышенаписанное про прогресс-бар является актуальным и по сей момент.
Простое применение этой команды не гарантирует, что прогресс будет выведен там, где его реально видно/нужно.
Его надо как-то бы настроить. Команда по умолчанию совсем не учитывает над ЧЕМ сейчас происходит выполнение  
цепочек реальных команд. К примеру, в моем случае этот "прогресс" вылетел в левом верхнем углу другого монитора!  
Т.е. заметить его практически нереально было!

Всего записей: 4522 | Зарегистр. 01-04-2006 | Отправлено: 23:06 10-04-2025
Antonij72



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Abel11 [?]
Команда

Код:
watch=1 start=FFmpeg||-y||-i||[tc=AA]||-f||ffmetadata||FFMETADATA.txt||&&hide||&&wait inidn=[tc=AP]FFMETADATA.txt||CHAPTER sends=[tc=AP]Chapters.txt??-1 <FOR> 1 <TO> GLOBALSENDS<0> anf2d=GLOBALSENDS<:INDEX:>||2||([^~~]+)~~(.*) oends=>n258|GLOBALANF2D1<1>|9 xends=[CHAPTER]@CRLFTIMEBASE=1/1@CRLFSTART=GLOBALOENDS<1>@CRLFEND=@CRLFtitle=GLOBALANF2D2<1>@CRLF??-2 textt=[tc=AP]FFMETADATA.txt||$$@CRLFGLOBALXENDS<x1:-1>||code<4>||backup<0> <NEXT> pends=[tc=AO]_<info=s30>.[tc=AE] start=FFmpeg||-i||[tc=AA]||-i||FFMETADATA.txt||-map_metadata||1||-codec||copy||GLOBALPENDS<1>||&&hide||&&wait renmz=[tc=AP]GLOBALPENDS<1>||[tc=AA]||upd<1> delsm=[tc=AP]FFMETADATA.txt||1 delsm=[tc=AP]GLOBALPENDS<1>||1||recycle<1>

 
при наличии уже имеющегося оглавления, не удаляет его и не добавляет новое - сохраняет файл без изменений.
 
Файлы: https://disk.yandex.ru/d/SAEFLME2EWokdA

----------
Я, инвалид 1 группы, ищу работу. Или благотворительную помощь. Спасибо.

Всего записей: 3981 | Зарегистр. 11-07-2005 | Отправлено: 03:42 14-04-2025 | Исправлено: Antonij72, 04:02 14-04-2025
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Antonij72 03:42 14-04-2025 [?]
Цитата:
при наличии уже имеющегося оглавления, не удаляет его и не добавляет новое - сохраняет файл без изменений

 
С файлами MKV нужно вникать, много нюансов и у них имеется свой набор инструментов.
Чуть капнул, получилось так. Тестируйте сразу по всем фронтам, желания возвращаться к этой теме нет.
 
• Добавить главы в видеофайл под курсором. Время начала глав и их названия - из chapters.txt активной панели

Код:
watch=1 start=FFmpeg||-y||-i||[tc=AA]||-f||ffmetadata||FFMETADATA.txt||&&hide||&&wait inidn=[tc=AP]FFMETADATA.txt||CHAPTER sends=[tc=AP]Chapters.txt??-1 <FOR> 1 <TO> GLOBALSENDS<0> anf2d=GLOBALSENDS<:INDEX:>||2||([^~~]+)~~(.*) oends=>n258|GLOBALANF2D1<1>|9||$$000000000 xends=[CHAPTER]@CRLFTIMEBASE=1/1000000000@CRLFSTART=GLOBALOENDS<1>@CRLFEND=@CRLFtitle=GLOBALANF2D2<1>@CRLF??-1 textt=[tc=AP]FFMETADATA.txt||$$@CRLFGLOBALXENDS<x1:-1>||code<4>||backup<0> <NEXT> pends=<info=s30>.[tc=AE] start=FFmpeg||-i||[tc=AA]||-i||FFMETADATA.txt||-map_chapters||1||-codec||copy||GLOBALPENDS<1>||&&hide||&&wait renmz=[tc=AP]GLOBALPENDS<1>||[tc=AA]||upd<1> delsm=[tc=AP]FFMETADATA.txt||1 delsm=[tc=AP]GLOBALPENDS<1>||1||recycle<1>

 
 
 
Добавлено:
Пришел к выводу, что надо получать путь файла под курсором и путь к активной панели в начале и далее передавать через глобальные переменные, чтобы не зависеть от положения курсора в процессе выполнения команды.
 

Код:
watch=1 slist=@[tc=AA]||$$@CRLF||$$[tc=AP] start=FFmpeg||-y||-i||GLOBALSLIST<1>||-f||ffmetadata||FFMETADATA.txt||&&hide||&&wait inidn=GLOBALSLIST<2>FFMETADATA.txt||CHAPTER sends=GLOBALSLIST<2>Chapters.txt??-1 <FOR> 1 <TO> GLOBALSENDS<0> anf2d=GLOBALSENDS<:INDEX:>||2||([^~~]+)~~(.*) oends=>n258|GLOBALANF2D1<1>|9||$$000000000 xends=[CHAPTER]@CRLFTIMEBASE=1/1000000000@CRLFSTART=GLOBALOENDS<1>@CRLFEND=@CRLFtitle=GLOBALANF2D2<1>@CRLF??-1 textt=GLOBALSLIST<2>FFMETADATA.txt||$$@CRLFGLOBALXENDS<x1:-1>||code<4>||backup<0> <NEXT> pends=<info=s30>.[tc=AE] start=FFmpeg||-i||GLOBALSLIST<1>||-i||FFMETADATA.txt||-map_chapters||1||-codec||copy||GLOBALPENDS<1>||&&hide||&&wait renmz=GLOBALSLIST<2>GLOBALPENDS<1>||GLOBALSLIST<1>||upd<1> delsm=GLOBALSLIST<2>FFMETADATA.txt||1 delsm=GLOBALSLIST<2>GLOBALPENDS<1>||1||recycle<1>

Всего записей: 1651 | Зарегистр. 08-12-2013 | Отправлено: 14:48 15-04-2025 | Исправлено: Abel11, 16:55 15-04-2025
Antonij72



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Abel11
Первый вариант кнопки проверил на мр4 и на mkv - всё работает как надо. Спасибо.
 
Заменил код на 2й вариант (логично, что он наиболее корректный, поскольку процесс не мгновенный и положение курсора может измениться). Пока не тестировал.

----------
Я, инвалид 1 группы, ищу работу. Или благотворительную помощь. Спасибо.

Всего записей: 3981 | Зарегистр. 11-07-2005 | Отправлено: 01:54 16-04-2025
Yymn7

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток! Подскажите кто разбирается:
Имеется список  выделенных файлов, или список файлов  определённого каталога.
Нужно получить дату модификации  самого старого файла этого каталога. И от этой даты (с шагом 1 секунду для каждого файла от предыдущего)увеличить дату модификации остальных файлов в этой же директории( без рекурсии). На выходе: все файлы в каталоге имеют дату модификации с разницей в 1 секунду.

Всего записей: 38 | Зарегистр. 09-10-2015 | Отправлено: 01:11 20-04-2025
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yymn7
 
Посмотрите такой вариант.
 
• Изменить дату модификацию всем файлам активной панели(без рекурсии) на дату модификации самого старого файла в этой панели с разницей в 1 секунду между датами

Код:
imgpr=1 xlist=<xfolder=1//[tc=AL-1f]> sends=1-<info=x5>!!-1||?H|5||,!!@CRLF slist=[tc=AL-1f] <FOR> 1 <TO> GLOBALSLIST<0> modft=GLOBALSLIST<:INDEX:>||0||GLOBALXLIST<1>!!+sGLOBALSENDS<:INDEX:> <NEXT>

 
 
 
Добавлено:
Ошибочка закралась, подправил.

Всего записей: 1651 | Зарегистр. 08-12-2013 | Отправлено: 18:11 21-04-2025 | Исправлено: Abel11, 22:37 21-04-2025
Dvoryaginya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
Прошу помогите создать кнопку, что бы при нажатии можно было ввести в диалоговом окне переменную, которая будет потом использоваться при переименования названия файла и папки с помощью команды: renmm="%P%O\"||##clpget_ПЕРЕМЕННАЯ renmm=%P%N||##clpget_ПЕРЕМЕННАЯ||upd<1>  
Заранее спасибо за помощь!

Всего записей: 9 | Зарегистр. 22-04-2025 | Отправлено: 08:57 22-04-2025
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dvoryaginya
 
Не надо выкладывать никаких параметров, просто опишите задачу.
 
Из того что я понял, задача: переименовать объект под курсором содержимым буфера обмена с добавлением в конец, через нижнее подчеркивание, введенное в диалоговом окне. Так?
 
 
Добавлено:
Если так, то
 

Код:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
renmm=[tc=AA]||##clpget_[input]
WCMICONS.dll,1
переименовать объект под курсором содержимым буфера обмена с добавлением в конец, через нижнее подчеркивание, введенное в диалоговом окне
 
 
-1
 

Всего записей: 1651 | Зарегистр. 08-12-2013 | Отправлено: 10:22 22-04-2025 | Исправлено: Abel11, 10:38 22-04-2025
Dvoryaginya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abel11
 
В общем идея такова, один раз ввел текст в диалоговом окне, а потом переименовываешь файлы в разных папках название из буфера обмена + текст из диалогового окна.

Всего записей: 9 | Зарегистр. 22-04-2025 | Отправлено: 12:05 22-04-2025 | Исправлено: Dvoryaginya, 16:53 23-04-2025
Yymn7

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abel11

Цитата:
Посмотрите такой вариант

 
Здорово,почти то,что нужно... Один момент. В предложенном Вами варианте, самый "старый" файл , становится самым "новым". Хотелось бы наоборот, чтобы отсчёт шёл от него(без изменений его даты модификации), если такое возможно?
 

Всего записей: 38 | Зарегистр. 09-10-2015 | Отправлено: 23:15 22-04-2025
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yymn7 23:15 22-04-2025 [?]
Цитата:
отсчёт шёл от него(без изменений его даты модификации)

• Изменить дату модификацию всем файлам активной панели(без рекурсии) на дату модификации самого старого файла в этой панели с разницей в 1 секунду между датами.

Код:
dilog=<xfolder=-1//"%p"> slist=GLOBALXFOLD1<t2:-1> sends=1-GLOBALSLIST<0>??-1||?H|5||,!!@CRLF <FOR> 1 <TO> GLOBALSLIST<0> modft=GLOBALSLIST<:INDEX:>||0||GLOBALXFOLD0<1>!!+sGLOBALSENDS<:INDEX:> <NEXT> beepss

 
Дата модификации найденного старого файла остается неизменной.

Всего записей: 1651 | Зарегистр. 08-12-2013 | Отправлено: 13:37 23-04-2025 | Исправлено: Abel11, 13:43 23-04-2025
Yymn7

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abel11,Супер, спасибо!
 

Всего записей: 38 | Зарегистр. 09-10-2015 | Отправлено: 14:50 23-04-2025
Dvoryaginya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abel11

Цитата:
Не надо выкладывать никаких параметров, просто опишите задачу.
 
Из того что я понял, задача: переименовать объект под курсором содержимым буфера обмена с добавлением в конец, через нижнее подчеркивание, введенное в диалоговом окне. Так?
 
 
Добавлено:
Если так, то
 
 
Код:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
renmm=[tc=AA]||##clpget_[input]
WCMICONS.dll,1
переименовать объект под курсором содержимым буфера обмена с добавлением в конец, через нижнее подчеркивание, введенное в диалоговом окне
 
 
-1
 

 
В общем идея такова, один раз ввел текст в диалоговом окне, а потом переименовываешь файлы в разных папках название из буфера обмена + текст из диалогового окна.

Всего записей: 9 | Зарегистр. 22-04-2025 | Отправлено: 17:00 23-04-2025
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dvoryaginya
 
Создайте в папке с утилитой TCIMG файл ComboRenm.txt. Далее при использовании кнопки ниже, все фразы, которые вы будете прописывать в диалоговом окне будут автоматически заноситься в файл ComboRenm.txt,  что позволит вам в следующий раз воспользоваться выпадающим списком в диалоговом окне, чтобы выбрать нужное или добавляйте новое.
 
   
 

Код:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
textt=$f250ComboRenm.txt||formt<1,63> sends=$f250ComboRenm.txt??-2||@CRLF!!Chr(124) dilog=[combo=Выбор||Избранное||GLOBALSENDS<1>||343||117] renmm=[tc=AA]||##clpget_GLOBALCOMBO<1> textt=$f250ComboRenm.txt||$$@CRLFGLOBALCOMBO<1>
WCMICONS.dll,1
переименовать объект под курсором содержимым буфера обмена с добавлением в конец, через нижнее подчеркивание, введенное или выбранное в диалоговом окне
 
 
-1
 

 
Путь к TCIMG.exe в кнопке прописывайте свой, если у вас не в корне (%COMMANDER_PATH%\TCIMG.exe) папки Total Commander.

Всего записей: 1651 | Зарегистр. 08-12-2013 | Отправлено: 20:14 23-04-2025 | Исправлено: Abel11, 20:18 23-04-2025
Dvoryaginya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abel11, Огромное спасибо, все работает!
 
Можно сделать, чтобы диалоговое окно открывалось на экране где открыт ТС, так как у меня два экрана и при нажатии кнопки диалоговое окно открывается на другом экране.
 
И еще один момент, чтобы при вызове диалогового окна выбиралось последнее введенное значение.
Заранее спасибо!

Всего записей: 9 | Зарегистр. 22-04-2025 | Отправлено: 08:43 24-04-2025 | Исправлено: Dvoryaginya, 11:16 24-04-2025
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dvoryaginya
 
У меня нет возможности протестировать с двумя мониторами и поиграться с настройками. Поэтому подождём комментария от автора TCIMG. К завтрашнему дню он должен выйти на связь.

Всего записей: 1651 | Зарегистр. 08-12-2013 | Отправлено: 10:19 24-04-2025 | Исправлено: Abel11, 10:20 24-04-2025
Dvoryaginya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abel11
Хорошо ждем ответа автора.
 
Поработал с кнопкой и возникло еще одно пожелание, чтобы при вызове диалогового окна выбиралось последнее введенное значение. Можно так сделать?
Заранее спасибо!

Всего записей: 9 | Зарегистр. 22-04-2025 | Отправлено: 11:19 24-04-2025
Abel11



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Dvoryaginya 11:19 24-04-2025 [?]
Цитата:
чтобы при вызове диалогового окна выбиралось последнее введенное значение


Код:
textt=$f250ComboRenm.txt||formt<1,63> sends=$f250ComboRenm.txt??-2||@CRLF!!Chr(124) dilog=[combo=Выбор||Избранное||GLOBALSENDS<1>||343||117] renmm=[tc=AA]||##clpget_GLOBALCOMBO<1> textt=$f250ComboRenm.txt||^^GLOBALCOMBO<1>@CRLF

 

Всего записей: 1651 | Зарегистр. 08-12-2013 | Отправлено: 11:36 24-04-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164

Компьютерный форум Ru.Board » Компьютеры » Программы » TCIMG (Часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru