Страница 45 из 46

Добавлено: Сб июл 25, 2020 07:57
sa
Вариант для TC 9.0+ с блокировкой перерисовки активного файлового списка (как в предыдущем сообщении, но без команды 2918 - Обновить выбранные эскизы, которая может сильно нагружать TC при выделении графических файлов):

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "if(msg($432,1004+msg($432,1000))==2,sendmsg(msg($432,3),$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)))+sendmsg(msg($432,3),$0B,1)+tcm(2017),tem(em_>Выделите_2_объекта!))"
WCMICONS.DLL,39
Добавить выделение файлов/папок между двумя выделенными
Поскольку обнаружил, что в этом варианте блокировки всё-таки требуется итоговая перерисовка списка, а универсальной команды (кроме redraw с передёргиванием всего окна TC) для этого пока не найдено, то в итоге от блокировки отказался, а здесь приведу ещё одну "заплатку" для рассматриваемого случая. Для перерисовки в код кнопки добавлена команда 2017- Копировать в буфер имена файлов, но она затрёт буфер обмена именами выделенных файлов...

Добавлено: Сб июл 25, 2020 10:54
Flasher
как в предыдущем сообщении, но без команды 2918
Для варианта с правильным сообщением это поправимо.

Добавлено: Пн июл 27, 2020 16:50
sa
При остающемся неизменным алгоритме работы кнопки (перейти к первому выделенному объекту и выполнить команду "2936 Выделить файл под курсором, перейти к следующему" с параметром, равным разности запрошенных у TC номеров выделенных объектов), добавлю ещё один способ организации сообщения об ошибке – в заголовке, у меня там шрифт крупнее, чем в самом окне :) :

Код: Выделить всё

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_>Выделено:<`msg($432,1004+msg($432,1000))`>`)+eval(settext_wait(`Выделите 2 объекта!`,findwnd(`#32770`))))"
WCMICONS.DLL,39
Добавить выделение файлов/папок между двумя выделенными
Сообщение, у которого меняется заголовок, может быть заголовком сообщения о нереализованной функции, как например, для функции tem(`em_>…>`) в коде кнопки или для более коротких функций вроде tem(em_) и tcm(1,1). А может быть и заголовком сообщения какой-нибудь внутренней команды TC, например, "О программе" tcm(690,1) или "Подсчитать занимаемое место" tcm(530,1) – может пригодиться при выделении файлов в обычных папках. Для пробы любую из этих функций надо вставить вместо tem(`em_>…>`), перед +eval.

P.S.Пришлось снова отказаться от блокировки/разблокировки теперь уже активного файлового списка sendmsg(msg($432,3),$0B,0/1): после неё тоже требуется дополнительная перерисовка панели. Заметно в случае, когда выделение остаётся неизменным по составу объектов, хуже того, если при этом ещё и смещается на панели в другое место. Можно увидеть на примере кнопки из предыдущего сообщения.
Стандартный вариант с redraw() не нравится, команда 2918 и сдвоенные 2012 (или 330) имеют свои недостатки.

Добавлено: Вт июл 28, 2020 11:30
Flasher
Это всё, конечно, весело-забавно, не иначе как для топика "околокоммандерный ЮмАр". )
Но я лучше предложу что-то поинтересней с добавкой в свой код 3-х вн. команд, дабы не зависеть от числа 2 и не заморачиваться со случайным выделением в процессе выбора элементов:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef
if(msg(1074,msg(1074,1000)+1004)>1,sendmsg(msg(1074,3),$0B,0)+tcm(2057)+tcm(2054)+tcm(2053)+varset(1,msg(1074,1006+msg(1074,1000)))+tcm(2049)+tcm(2054)+tcm(2053)+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("`         [✖] Ошибка! Выделите > 1 объекта!`",findwnd(Static,,findwnd(#32770)))))
wciconex.dll,46
Выделить всё в границах крайних выделенных объектов
Если курсор стоял выше последнего выделенного объекта, то для избежания артефактов обновление эскизов можно вызывать только в случае совпадения числа до и после выделения:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef
varset(1,msg(1074,msg(1074,1000)+1004)) if(varget(1)>1,sendmsg(msg(1074,3),$0B,0)+tcm(2057)+tcm(2054)+tcm(2053)+varset(2,msg(1074,1006+msg(1074,1000)))+tcm(2049)+tcm(2054)+tcm(2053)+tcm(2054)+msg(1075,2936,varget(2)-msg(1074,1006+msg(1074,1000)))+sendmsg(msg(1074,3),$0B,1)+if(varget(1)==msg(1074,msg(1074,1000)+1004),tcm(2918)),tcm(-1,1)+eval(settext_wait("`         [✖] Ошибка! Выделите > 1 объекта!`",findwnd(Static,,findwnd(#32770)))))
wciconex.dll,46
Выделить всё в границах крайних выделенных объектов
Но понятно, что мало кому понадобиться выделять уже выделенное. :wink:

Добавлено: Пт июл 31, 2020 16:13
sa
При так и остающемся неизменным алгоритме работы кнопки, ещё пара способов сообщения об ошибке. Первый - с командой cm_List, позволяющий использовать пробелы в строке внушительных размеров, с большим восклицательным знаком, подойдёт при работе в обычных папках:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "if(msg($432,1004+msg($432,1000))==2,tcm(2054)+tcm(2053)+tcm(2053)+msg($433,2936,msg($432,1006+msg($432,1000))+ tcm(2054)-msg($432,1006+msg($432,1000))),tem(`cm_List Вместо `msg($432,1004+msg($432,1000))` выделите 2 объекта!`))"
WCMICONS.DLL,39
Добавить выделение файлов/папок между двумя выделенными
Второй - если требуется универсальное средство. MVV (автор TCFS2) предлагал на форуме в пользовательских командах тотала прописать утилиту, которая показывает окошки с сообщениями и выкладывал простейшую программку для этого, размером с килобайт. В файле usercmd.ini она может быть записана, например, так:
[em_MsgBox]
cmd=%COMMANDER_PATH%\Addon\TCFS2\MessageBox.exe
param=%Z%A
Чтобы использовать её в кнопке, достаточно вместо cm_List указать em_MsgBox.

Добавлено: Вс апр 25, 2021 20:10
palle
Циклическое изменение размера эскизов.

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\ADD\TC\TCFS2\TCFS2.exe
/ef "if(S_viewMode==269, if(eval(tcini(AllResolutions, TCFSThumbScaleFactor, #))==16, msg($0433, 2953, 32, 0) + set_tcini(AllResolutions, TCFSThumbScaleFactor, 32), if(eval(tcini(AllResolutions, TCFSThumbScaleFactor, #))==32, msg($0433, 2953, 49, 0) + set_tcini(AllResolutions, TCFSThumbScaleFactor, 49), if(eval(tcini(AllResolutions, TCFSThumbScaleFactor, #))==49, msg($0433, 2953, 100, 0) + set_tcini(AllResolutions, TCFSThumbScaleFactor, 100), if(eval(tcini(AllResolutions, TCFSThumbScaleFactor, #))==100, msg($0433, 2953, 16, 0) + set_tcini(AllResolutions, TCFSThumbScaleFactor, 16), msg($0433, 2953, 16, 0) + set_tcini(AllResolutions, TCFSThumbScaleFactor, 16))))), tcm(269))"
shell32.dll,96
Изменить размер эскизов|вкл. -> 16% -> 32% -> 49% -> 100%


-1

Добавлено: Чт дек 16, 2021 15:50
sa
На основе запроса. Кнопка с утилитой TCFS2.
Функции дополнительного модуля TCFS2Tools не используются.

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_cd, cmd, `cd`) set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_cd, param, `%A%Z`)"
/ei "swCD (     `|*\`     ,     `*.*`     )"
wcmicons.dll,24
Переключатель: только файлы ( ||*\ ) и все ( *.* )
В файле TCFS2.ini, в секцию [Items] потребуется добавить строки:

Код: Выделить всё

swCD_L=set_style(# & ~$00000010) tem(`em_cd `#2), style(# & $00000010) | set_style(# | $00000010) tem(`em_cd `#1)
swCD_R=set_style(# & ~$00000020) tem(`em_cd `#2), style(# & $00000020) | set_style(# | $00000020) tem(`em_cd `#1)
swCD=run_item(swCD_R, #1, #2), eval(msg($432,1000)-1) | run_item(swCD_L, #1, #2)
Кнопка использует тоталовскую команду CD и может применяться для переключения между двумя вариантами фильтрации (по маскам файлов или сохранённым шаблонам поиска, перед именем шаблона требуется указание символа >), а также для попеременной смены каталога/архива или позиционируемого файла в панели (в сочетании с фильтрацией или без неё).
Варианты должны быть заключены в косые кавычки `` и записаны через запятую.
Если пользовательская команда em_cd в TC уже создана, то последовательность /ef “set _ini … `%A%Z`)" в кнопке можно убрать.

Добавлено: Чт апр 27, 2023 13:41
sa
Кнопка на основе запроса.

Код: Выделить всё

TOTALCMD#BAR#DATA
cm_SelectAllBoth,em_MoveToParent,cm_GoToParent,cm_CountDirContent,cm_Delete

WCMICONS.DLL,63
Переместить ВСЕ ФАЙЛЫ и ПАПКИ на уровень вверх|и предложить удалить родительскую папку
Потребуется завести в usercmd.ini пользовательскую команду:

Код: Выделить всё

[em_MoveToParent]
cmd=MULTIRENAME==MoveToParent
а в инструменте группового переименования (Ctrl+M) в качестве маски для имени файла записать ..\[N] (оставив все остальные параметры по умолчанию) и сохранить шаблон (F2) с именем MoveToParent.
Версия TC 10.50 и свежее.
Если родительская папка не была удалена (или была воссоздана), то в ИГП работает функция отката для перемещённых объектов.

Добавлено: Чт сен 28, 2023 14:19
sa
Кнопка для переименования файла/папки под курсором в инструменте группового переименования (ИГП).
В диалоге ИГП имя и расширение редактируются в отдельных полях, видны старое и новое имя, после переименования есть возможность отката (в том числе и после закрытия ИГП, но в рамках текущего сеанса работы TC).

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tem(cm_ClearAll) varset(1,msg($432,1006+msg($432,1000))-msg($432,1008+msg($432,1000))) if(varget(1)<0, varset(1,2147483647)) tem(cm_Select) tem(`cm_GoToFirstEntry `varget(1)) tem(cm_ClearAllFiles) set_ini(`%%COMMANDER_PATH%%\usercmd.ini`, em_temp, cmd, `MULTIRENAME $tmp`) if(msg($432,1004+msg($432,1000)),set_tcini(Rename, $tmp_name, `%N`)+set_tcini(Rename, $tmp_ext)+tem(cm_ClearAllFolders), set_tcini(Rename, $tmp_name, `"%O"`)+set_tcini(Rename, $tmp_ext, `"%E"`)) set_tcini(Rename, $tmp_params, `0|1|1|1`) set_tcini(Rename, $tmp_search, `*\`) set_tcini(Rename, $tmp_replace) tem(em_temp)"
WCMICONS.DLL,46
Переименовать в ИГП файл/каталог под курсором


-1
Требуется утилита TCFS2. Функции дополнительного модуля TCFS2Tools не используются.
Версия TC 9.0 и свежее.

Добавлено: Сб фев 24, 2024 12:08
Orion9
Довольно простой, но эффективный способ переключения иконки на панели инструментов (для любой кнопки) при помощи плагина Autorun и TCFS2.

Пример для команды 2957.

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utilites\TCFS2\TCFS2.exe
/ef "msg($0B, 0, 0) tcm(2957) msg(regmsg(ColorMessage), 0, 0) tcm(2945) msg($0B, 1, 0) run_item(update)"
%COLOR_ICON%
Цвета для типов файлов (вкл./выкл.)


-1
autorun.cfg

Код: Выделить всё

Func SetColorByType()
   IniRead nIco %COMMANDER_INI% "Configuration" "ColorFilters" 1
   If nIco = 1 Then
      SetEnv COLOR_ICON "%COMMANDER_PATH%\Icons\Clsw\2.ico"
   Else
      SetEnv COLOR_ICON "%COMMANDER_PATH%\Icons\Clsw\6.ico"
   EndIf   
EndFunc

SetMessageAction "ColorMessage" SetColorByType
Единственный недостаток - иконки должны быть в виде отдельных фалов, TC не раскрывает переменную окружения с индексом (через запятую) как следует.

Добавлено: Чт апр 11, 2024 23:53
Orion9
Кнопка информирует о новых файлах на wincmd.ru. Подробности в архиве:
Показать
MIME-Version: 1.0
Content-Type: application/octet-stream; name="NewsBar.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="NewsBar.7z"

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
AA==

Добавлено: Чт июн 20, 2024 14:11
sa
Кнопка для слияния выбранных папок:

Код: Выделить всё

TOTALCMD#BAR#DATA
cm_Renmov
/O5G1T="%Q%P%N:~0,25##X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.*"
WCMICONS.DLL,63
Слияние выбранных папок в одну с именем папки под курсором,|обрезанным до 25 символов и дополненным ##X.X.X...


-1
Версия TC 11.00 и свежее.
Настройка перезаписи файлов (ключ O), немедленный старт копирования (ключ G) и длина исходного имени (25) - по вкусу.
Для пробы удобнее команду cm_Renmov заменить на cm_Copy.

Добавлено: Вт авг 13, 2024 08:58
sa
Кнопка для поиска дубликатов:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_tcini(Searches,$Dupl_dupeplugins,`[=tc.writedate.YMD]`) set_tcini(Searches,
$Dupl_SearchFlags,`0|002002000020|||||||||1011|0||`) set_tcini(Searches,$Dupl_SearchFor,``) set_tcini(Searches,$Dupl_SearchIn,``) set_tcini(Searches,$Dupl_SearchText,``) set_ini(`%%COMMANDER_PATH%%\usercmd.ini`, em_temp, cmd,`LOADSEARCH==$Dupl`) tcm(524) tcm(2018) tem(`cm_Wait 0,em_temp`) tcm(2033) if(!msg($432,1004+msg($432,1000)) & !null("%N"),tcm(540)+tcm(2033)) tcm(2053) tcm(524)"
wcmicons.dll,7
Искать дубликаты по ДАТЕ |При отсутствии дубликатов у файла под курсором, обновить панель, сбросив результаты поиска
Требуется утилита TCFS2. Функции дополнительного модуля TCFS2Tools не используются.
Версия TC 11.02 и свежее.
Для поиска дубликатов не по дате, а по имени, можно заменить в поле команды [=tc.writedate.YMD] на [=tc.name], по типу – на [=tc.ext], по размеру – на [=tc.size], по полному имени - на [=tc.fullname].
Для поиска дубликатов по содержимому (без учёта данных плагинов) надо заменить в поле параметров комбинацию флагов 1011 на 1110, а в поле команды убрать [=tc.writedate.YMD] (оставив только ``).
Поиск производится для наглядности только в текущей папке – без учёта подкаталогов. Если требуется неограниченная глубина поиска, например, при поиске дубликатов по полному имени, то в комбинации флагов следует убрать последний 0 (перед ||`).
Если курсор установить на .., то результаты поиска дубликатов не будут сбрасываться.
Кнопка подходит и для TC 10.00 - TC 11.01, но в случае использования стилей оформления с пользовательскими наборами колонок возникает проблема с итоговым позиционированием на файле под курсором - при отсутствии у него дубликатов.

Ещё вариант (TC 10.00 и свежее).
Кнопка для поиска дубликатов без привязки к файлу под курсором и без сброса результатов, с неограниченной глубиной поиска:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_tcini(Searches,$Dupl_dupeplugins,`[=tc.writedate.YMD]`) set_tcini(Searches,
$Dupl_SearchFlags,`0|002002000020|||||||||1011|||`) set_tcini(Searches,$Dupl_SearchFor,``) set_tcini(Searches,$Dupl_SearchIn,``) set_tcini(Searches,$Dupl_SearchText,``) set_ini(`%%COMMANDER_PATH%%\usercmd.ini`, em_temp, cmd,`LOADSEARCH==$Dupl`) tem(`em_temp`)"
wcmicons.dll,7
Искать дубликаты по ДАТЕ

Добавлено: Вс фев 02, 2025 01:29
Monarch-LFV
По просьбе желающих выкладываю целое меню кнопок созданных на базе консольных утилит CPDF и QPDF.
https://cloud.mail.ru/public/s6g3/ButjB7h8C
Чтобы работало без проблем нужно папку их архива поместить в директорию: "%COMMANDER_PATH%\Plugins\exe\", вытащить на вертикальную панель VERTICAL_PDF.BAR и сделать в виде меню.
Для правильного отображения результата кнопки "Информация о размере страниц в файлах" потребуется установленный плагин CSVtab.

Добавлено: Чт май 21, 2026 10:20
Orion9
Кнопка для переключения количество строк на главной панели инструментов (разворачивание или сворачивание панели). Скрипт меняет значение BarLimitLines в Wincmd.ini.

Первое нажатие на кнопку разворачивает панель (BarLimitLines=0). Через 10 секунд панель свернется (BarLimitLines=1). Чтобы панель оставалась в развернутом виде, необходимо повторно нажать на кнопку в течении 10 секунд. Развернутая панель возвращается в исходное состояние нажатием на кнопку в третий раз.
Показать
TOTALCMD#BAR#DATA
60040

%COMMANDER_EXE%
В одну / несколько полос

1
-1
Показать

Код: Выделить всё

Global gBarLinesTimer = false

RegisterCommand 60040 "ToggleBarLines"

SetHotkeyAction /K:C /H:F12 "ToggleBarLines"

Func ToggleBarLines()
    # окно имеет прозрачность
    Local bWinTrans = WinHasStyle(0x80000, 1, AUTORUN_TCHANDLE)
    Local nLines
    # чтение ключа
    IniRead /R nLines %COMMANDER_INI% "Buttonbar" "BarLimitLines" 1
    # панель развернута с запущенным таймером
    If nLines = 0 And gBarLinesTimer Then
       gBarLinesTimer = false
       Sleep(50)
       Return
    EndIf
    # переключение ключа
    If nLines = 1 Then
       IniWrite /R %COMMANDER_INI% "Buttonbar" "BarLimitLines" 0
    Else
       IniWrite /R %COMMANDER_INI% "Buttonbar" "BarLimitLines" 1     
    Endif
    # запрет перерисовки окна
    If Not bWinTrans Then SendMessage(AUTORUN_TCHANDLE, 11, 0, 0)
    # двойная поылка cm_VisButtonBar
    SendCommand(2901, 0, 1)
    SendCommand(2901, 0, 1)
    Sleep(10)
    # снятие запрета перерисовки
    If Not bWinTrans Then SendMessage(AUTORUN_TCHANDLE, 11, 1, 0)
    WinRedraw(2)
    # повторное чтение ключа
    IniRead /R nLines %COMMANDER_INI% "Buttonbar" "BarLimitLines" 1 
    # панель свернута
    If nLines = 1 Then 
       gBarLinesTimer = false
       Sleep(50)
       Return
    EndIf   
    # запуск таймера
    RunThread BarLinesTimer
EndFunc

Func BarLinesTimer()
    Local nSeconds = 10
    gBarLinesTimer = true
    For i = 1 To nSeconds
        For j = 1 To 20
            Sleep(50)
            If Not gBarLinesTimer Then Break
        Next
        If Not gBarLinesTimer Then Break       
    Next
    gBarLinesTimer = false
    # таймер был прерван
    If i < nSeconds Then Return
    # таймер сработал до конца 
    Local nLines
    IniRead /R nLines %COMMANDER_INI% "Buttonbar" "BarLimitLines" 1   
    If nLines = 0 Then RunThread ToggleBarLines
EndFunc
Реализовано на плагине Autorun. Требуется последняя версия плагина.

Количество секунд можно поменять (nSeconds = 10). Вызов можно переназначить на другую комбинацию (сейчас CTRL+F12) или прописать отдельную горячую клавишу через стандартную секцию [Shortcuts].

Добавлено спустя 10 минут:

Update для кнопки, проверяющей новые файлы на wincmd.ru. В основном это исправление ошибок. Костяк функционала остается прежним. Полный архив с описанием и файлами.
Показать
MIME-Version: 1.0
Content-Type: application/octet-stream; name="NewsBar.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="NewsBar.7z"

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