View previous topic :: View next topic |
Author |
Message |
Avada
Joined: 01 Aug 2008 Posts: 10307 Location: Россия, Саратов
|
(Separately) Posted: Sat Jan 28, 2017 17:15 Post subject: |
|
|
Dimsok
Прошу заглянуть на страницу 66 темы по обсуждению кнопок и припомнить, о чём там шла речь насчёт рабочих решений, оформления кнопок и пояснений к ним. Слишком много предлагается кнопок, которые юзер использовать без доводки не может. Хотя бы из-за путей к личным папкам в трёх последних постах (в тексте кнопки это хотя бы цветом отметить следовало). В конце концов, основной целью выкладывания кнопок должно быть удобство тех, кто будет ими пользоваться. Прошу принять к сведению, иначе модераторам действительно придётся ввести эту процедуру в какие-то пристойные берега. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2621
|
(Separately) Posted: Tue Mar 14, 2017 18:11 Post subject: |
|
|
По мотивам этого запроса.
Кнопка (версия TC 9.xx) для удаления файлов/каталогов по заданной маске, регулярному выражению с символом < или шаблону поиска с символом >. Требуется утилита TCFS2 (функции дополнительного модуля TCFS2Tools не используются): Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_temp, cmd, `SELECTFILESB `
`>Файлы старше 1 недели` ) tcm(524) tem(em_temp) if(msg($432,1004+msg($432,1000)), tcm(908))"
WCMICONS.DLL,64
Удалить файлы/каталоги |по маске (например: *.bak *.old) |регулярному выражению (<[ab].*) |или шаблону поиска (>Файлы старше 1 недели)
-1
| Для задания альтернативного варианта, удалить в Корзину или в обход Корзины (зависящего от настроек TC), при вызове кнопки нажать клавишу Shift.
В кнопке для команды SELECTFILES добавлен модификатор B (выделяются и файлы и папки, соответствующие маске или шаблону). Можно указать D (только папки) или убрать модификатор (только файлы).
Если сильно захочется подтвердить удаление непосредственно в кнопке, то можно заменить tcm(908))" на
tcm(908,1) + eval(send_wait(`{ENTER}`, findwnd(`#32770`))))".
В дополнение, команду удаления файлов tcm(908) при желании можно поменять на команду копирования tcm(905) или перемещения tcm(906).
Чтобы при вызове кнопки файл usercmd.ini каждый раз не перезаписывался (из-за создания утилитой временной пользовательской команды em_temp), можно самостоятельно создать пользовательские команды выделения, например:
em_selB, состоящую из команды SELECTFILESB,
em_selD, состоящую из команды SELECTFILESD и
em_sel, состоящую из команды SELECTFILES,
одну из которых, в зависимости от решаемой задачи, и указывать в кнопке: Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "tcm(524) tem(`em_selB `
`>Файлы старше 1 недели` ) if(msg($432,1004+msg($432,1000)), tcm(908))"
WCMICONS.DLL,64
Удалить файлы/каталоги |по маске (например: *.bak *.old) |регулярному выражению (<[ab].*) |или шаблону поиска (>Файлы старше 1 недели)
-1
|
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Oct 13, 2017 02:42 Post subject: |
|
|
Запрошено:
Quote: | TOTALCMD#BAR#DATA
%comspec% /q /c (for %# in
(%P%S) do call set "P=%%P%% %%# -title "%%~nx#"")&&call mplayer.exe -nofontconfig -really-quiet -fs -panscan 1 %%P:~4%%
Utils\MPlayer\mplayer.exe
MPlayer — воспроизвести выбранные видео на полном|экране с поочерёдным выводом имён в заголовок окна
%COMMANDER_PATH%\Utils\MPlayer\
1 |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri May 04, 2018 07:02 Post subject: |
|
|
Текст файла в буфер (по запросу) с определением OEM, ANSI, UTF-7, UTF-8, UTF-16.
Quote: | TOTALCMD#BAR#DATA
%ComSpec% /v:on /q/c echo off&set CP1251=1251&set ASCII=1251&set IBM866=866&set UTF-7=65000&set UTF-8=65001&set UCS-2=65001&for /f "tokens=1 delims=/" %# in ('enca.exe -e -L russian
%V') do chcp !%%#!&cls&clip<%V
wcmicons.dll,45
Скопировать в буфер обмена текст файла под курсором
%COMMANDER_PATH%\Utils\Enca
1 | Enca 1.13.
Enca 1.19 | Enca 1.20 (спасибо addhaloka). _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10307 Location: Россия, Саратов
|
(Separately) Posted: Sat Jun 09, 2018 16:03 Post subject: |
|
|
All
Поскольку беспрерывные призывы соблюдать правила и помещать запросы на кнопки не в этой теме, а в специальной, некоторой частью участников (причём отнюдь не только новичками) упорно игнорируются, придётся прибегнуть к более сильным мерам. Впредь откровенный оффтоп такого рода будет из этой темы попросту удаляться. Иного пути приучить кое-кого к порядку, к сожалению, не вижу. Сообщение AlexTex было в этом ряду первым номером. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jul 09, 2018 21:06 Post subject: |
|
|
Близко к теме:
Quote: | TOTALCMD#BAR#DATA
*%ComSpec% /v:on /q/c @echo off&for /r %# in (*.txt) do for /f "eol=C skip=1 delims=" %h in ('certutil -hashfile "%#" MD5') do set "crc=%h"&&call robocopy "%~dp#\"
"%P!crc: =!" "%%~nx#" /MOV /NJH /NJS /NDL /NFL&cls
wpdshext.dll,4
Переместить txt-файлы из структуры активного каталога в MD5-папки
1 |
Quote: | TOTALCMD#BAR#DATA
*%ComSpec% /v:on /q/c @echo off&for /r %# in (*.txt) do for /f "eol=C skip=1 delims=" %h in ('certutil -hashfile "%#" MD5') do set "crc=%h"&& call xcopy "%#" !crc: =!\ /chikorqxy
FXSRESM.dll,11
Скопировать txt-файлы из структуры активного каталога в MD5-папки
1 | Windows Vista+. Другие алгоритмы: MD2, MD4, SHA1, SHA256, SHA384, SHA512. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2621
|
(Separately) Posted: Thu Jun 20, 2019 13:41 Post subject: |
|
|
На основе запроса:
Code: | TOTALCMD#BAR#DATA
cm_ClearAll,cm_FocusTrg,cm_ClearAll,cm_FocusTrg,cm_select,em_SyncOpen=,cm_ClearAll
wcmicons.dll,48
Синхронизировать папку/файл под курсором
-1
| где em_SyncOpen= это пользовательская команда, представляющая SYNCOPEN = (можно вместо пользовательской подставить встроенную команду cm_FileSync, чтобы сравнение не начиналось сразу после открытия диалога).
Если требуется предупреждение об отсутствии в целевом каталоге папки или файла с тем же именем, что под курсором в исходной панели, то сцепка команд может быть такой:
Code: | 524,4006,524,4006,em_SelT,cm_select,em_SyncOpen=,524,4006,524,4006 | В ней добавлена пользовательская команда em_SelT, представляющая SELECTFILESBT с %Z%N в строке параметров.
Кнопка для синхронизации одноимённых папок:
Code: | TOTALCMD#BAR#DATA
%COMMANDER_EXE%
/S=S:= %Z%X%P%x%N %X%T%x%N
wcmicons.dll,48
Синхронизировать папку под курсором с одноимённой в другой панели
-1 | Чтобы сравнение не начиналось сразу после открытия диалога, следует убрать знак = после двоеточия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2621
|
(Separately) Posted: Thu Jul 25, 2019 09:38 Post subject: |
|
|
Поскольку время правки предыдущего сообщения истекло, выложу подправленную (с кавычками) кнопку здесь
Code: | TOTALCMD#BAR#DATA
%COMMANDER_EXE%
/S=S:= %Z%X"%P%x"%N %X"%T%x"%N
wcmicons.dll,48
Синхронизировать папку под курсором с одноимённой в другой панели
-1
| Если под курсором [..], то файловые панели синхронизируются целиком.
Помимо синхронизации папок кнопка подходит и для сравнения одноимённых файлов архивов. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2621
|
(Separately) Posted: Fri Aug 16, 2019 15:32 Post subject: |
|
|
Отголосок этой темы. Кнопка с утилитой TCFS2.
Функции дополнительного модуля TCFS2Tools не используются. Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_temp, cmd, `SyncOpen = Несуществующее имя шаблона`) tem(em_temp)
delay(200) if(findwnd(`#32770`)!=0, delay(1000) + send(`{ESC 2}`, findwnd(`#32770`)), loop(if(findwnd(`TCmpForm`)!=0 && findwnd(`TCheckEditBox`)==0, 0*send(`+{END}^%%l`, findwnd(`TCmpForm`))*delay(100)+1, 0)) + if(findwnd(`TCmpForm`)!=0, eval(send_wait(`{ENTER}`, findwnd(`TCheckEditBox`),1)) + loop(if(findwnd(`TCmpForm`)==0, 0, 0*send(`~(%%ы)`, findwnd(`TCmpForm`))*delay(100)+1)) + if(msg($432,1000)-1, tcm(540), tcm(4002) + tcm(540) + tcm(4001))))" %Z
WCMICONS.DLL,48
Копировать СЛЕВА --> НАПРАВО метки даты/времени одноимённых файлов
-1
| Для поиска одноимённых файлов и копирования их меток даты/времени используется инструмент синхронизации каталогов.
Если выделения в файловых панелях нет, то они обрабатываются целиком (с учётом подкаталогов).
Если выделены папки/файлы (не важно в какой из панелей, можно выбирать и в обеих), то в последующих операциях участвуют только они.
Какая из панелей активна, значения не имеет. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2621
|
(Separately) Posted: Wed May 06, 2020 16:52 Post subject: |
|
|
Кнопка с утилитой TCFS2 для поиска с плагинами.
Функции дополнительного модуля TCFS2Tools не используются.
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_TempParam, cmd, `%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_tcini(Searches, $tmp_plugin,`) set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_TempParam, param,
<`? ` tc.writedate >= 06.05.20 ` ) tem(em_temp)"`>) set_ini(`%%COMMANDER_PATH%%\usercmd.ini`, em_temp, cmd, `cd >$tmp`) set_tcini(Searches, $tmp_SearchIn, ``) set_tcini(Searches, $tmp_SearchFor, ``) set_tcini(Searches, $tmp_SearchText, ``) set_tcini(Searches, $tmp_SearchFlags, ``) tem(em_TempParam) eval(send_wait(`{HOME}^{RIGHT 2}`, findwnd(`TSTDTREEDLG`)))"
wcmicons.dll,24
Задать параметры пользовательского шаблона $tmp для поиска с плагинами| и применить фильтр с ним в активной панели
tc.writedate >= 05.05.20 & tc.writedate <= 06.05.20 | tc.ext = txt | exif.ISO = 400 | age.Changed.Minutes < 1 | (Seconds Minutes Hours Days Weeks Months Years) | Путь к утилите TCFS2 заменить на свой (в двух местах кода кнопки).
В поле "Путь запуска:" приведено несколько примеров для правки поля "Параметры:" (в косых кавычках). |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2621
|
(Separately) Posted: Tue Jun 02, 2020 10:58 Post subject: |
|
|
Кнопка (версия TC 9.0+) для поиска файла/каталога под курсором (активной панели) в неактивной.
Требуется утилита TCFS2, функции дополнительного модуля TCFS2Tools не используются.
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "if(msg($432,1007-msg($432,1000)), varset(1,1), varset(1,0)) set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_temp, cmd, `LOADSEARCH $tmp`) set_tcini(Searches, $tmp_SearchFlags,
`1|0020` varget(1) `2000020|||||||||0000|||`) if(null("%N"),set_tcini(Searches, $tmp_SearchFor, ``), set_tcini(Searches, $tmp_SearchFor, `%Z%N.`)) set_tcini(Searches, $tmp_SearchIn, ``) set_tcini(Searches, $tmp_SearchText, ``) set_tcini(Searches, $tmp_plugin, ``) tcm(4006) tem(em_Temp) eval(send_wait(`{ENTER}`, findwnd(`TFindFile`)))"
wcmicons.dll,47
Поиск текущего файла/каталога в неактивной панели |(в том числе в архивах) | Если в активной панели под курсором `..`, то TC будет искать все файлы/каталоги.
При наличии выделения в неактивной панели поиск выполняется только в выделенных файлах/каталогах.
Чтобы исключить поиск в архивах, следует в поле "Параметры:" первую 1 заменить на 0. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2621
|
(Separately) Posted: Sat Jul 18, 2020 09:21 Post subject: |
|
|
Отсюда
kirimbay
На скорую руку, для TC версии 9.0 и выше, кнопка для выделения объектов между двумя выделенными.
Требуется утилита TCFS2, функции дополнительного модуля TCFS2Tools не используются.
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "if(msg($432,1004+msg($432,1000))==2,tcm(2049)+tcm(2053)+varset(1,msg($432,1006+msg($432,1000))-msg($432,1008+msg($432,1000)))+tcm(2053)+varset(2,msg($432,1006+msg($432,1000))-msg($432,1008+msg($432,1000)))+if(varget(1)==varget(2),varset(1,0))+msg($433,2049,varget(1))+msg($433,2936,varget(2)-varget(1)),tem(`em_>Выделите_2_объекта!`))"
WCMICONS.DLL,39
Добавить выделение файлов/папок между двумя выделенными |
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jul 22, 2020 21:53 Post subject: |
|
|
Пожалуй, поделюсь своим более лаконичным вариантом без передёргиваний выделения и с нормальным текстом окна ошибки:
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef
if(msg(1074,msg(1074,1000)+1004)==2,msg($0B,0)+tcm(2057)+tcm(2054)+tcm(2053)+varset(1,msg(1074,1006+msg(1074,1000)))+tcm(2054)+msg(1075,2936,varget(1)-msg(1074,1006+msg(1074,1000)))+msg($0B,1)+redraw()+tcm(2918),tcm(-1,1)+eval(settext_wait("`[✖] Выделите 2 объекта!`",findwnd(Static,,findwnd(#32770)))))
wciconex.dll,73
Выделить всё в границах двух выделенных объектов | Разумеется, никаких ограничений на типы объектов (аля 'файлы/папки') нет. Т. е. работать будет как в любых виртуальных папках, так и в списках плагинов и структурах wfx-плагинов.
P. S.: Перерисовка окна не вызывает таких неприятностей, как моргания цветов, прыжков курсора со сдвигом списка туда-сюда, что в примерах выше и ниже. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Thu Jul 23, 2020 15:40; edited 1 time in total |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2621
|
(Separately) Posted: Thu Jul 23, 2020 15:01 Post subject: |
|
|
Укоротил вариант, что для TC версии 9.0+ и без ненужной перерисовки панелей инструментов (главной и вертикальной), панели функциональных клавиш, командной строки, а также вкладок, заголовков панели, заголовков табуляторов и др. элементов интерфейса окна TC: Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "if(msg($432,1004+msg($432,1000))==2,tcm(2049)+tcm(2053)+tcm(2053)+varset(1,msg($432,1006+msg($432,1000))) +tcm(2054)+msg($433,2936,varget(1)-msg($432,1006+msg($432,1000))),tem(em_>Выделите_2_объекта!))"
WCMICONS.DLL,39
Добавить выделение файлов/папок между двумя выделенными | Если есть желание избавиться и от передёргиваний, и от ненужной перерисовки, то можно попробовать вариант,
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "if(msg($432,1004+msg($432,1000))==2,msg($0B,0)+tcm(2049)+tcm(2053)+tcm(2053) +varset(1,msg($432,1006+msg($432,1000)))+tcm(2054)+msg($433,2936,varget(1)-msg($432,1006+msg($432,1000)))+tcm(2012)+msg($0B,1)+tcm(2012),tem(em_>Выделите_2_объекта!))"
WCMICONS.DLL,39
Добавить выделение файлов/папок между двумя выделенными
| где для перерисовки используется задвоенная команда 2012 (или 330). |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Jul 24, 2020 12:17 Post subject: |
|
|
Легкая правка моего варианта без каких-либо предложенных далее артефактов выделения и псевдодорисовки
(особенно тех, что невооружённым глазом видны и остаются при наличии на предыдущем плане браузера, например, с видео на паузе):
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef
if(msg(1074,msg(1074,1000)+1004)==2,sendmsg(msg(1074,3),$0B,0)+tcm(2057)+tcm(2054)+tcm(2053)+varset(1,msg(1074,1006+msg(1074,1000)))+tcm(2054)+msg(1075,2936,varget(1)-msg(1074,1006+msg(1074,1000)))+sendmsg(msg(1074,3),$0B,1),tcm(-1,1)+eval(settext_wait("`[✖] Выделите 2 объекта!`",findwnd(Static,,findwnd(#32770)))))
wciconex.dll,46
Выделить всё в границах двух выделенных объектов |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Sat Jul 25, 2020 11:49; edited 1 time in total |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|