[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Andrey_A, ХарВик, chip642  
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
ЗАКАЗ КНОПОК
ХарВикДата: Вторник, 17.04.2012, 21:49 | Сообщение № 1
Генералиссимус

На сайте с: 29.01.2012
Город: Черкассы
Сообщений: 1629
Награды: 18
Репутация: 18
ЗАКАЗ КНОПОК




В этой теме Вы можете высказывать идеи о каких-либо кнопках. Вы можете описать какую хотелось бы иметь кнопку и возможно найдутся те, кто подскажет как её сделать.
Большая просьба чётко описывать задачу, от этого будет зависеть качество её решений


Группа TCIMG в Telegram

.
 
shveicarДата: Воскресенье, 18.09.2016, 21:07 | Сообщение № 811
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Цитата Zmy ()
Кто хорошо знает тотал, для того почти не остаётся секретов в компьютерном деле.
Потому что, это заставляет изучать всё остальное.

А найденные после поиска этим плагином, дубликаты, чем посоветуете выделить?
Там ведь выдается список из исходных файлов + найденные для них дубликаты и нужно оставить сам оригинал, прежде чем удалить все остальное..
 
ZmyДата: Воскресенье, 18.09.2016, 22:17 | Сообщение № 812
Майор

На сайте с: 19.04.2015
Город: Краснодар
Сообщений: 81
Награды: 1
Репутация: 0
Ну ты окошко, которое на на скрине вызываешь?



Если окошко это появляется, то просто жмёшь "Применить".
Останутся невыделенными по одному вырианту из всех точных дубликатов. Они ещё будут разбиты по подгруппам.
Остальные все будут выделены.
Соответственно, их можно свободно удалять. Только сначала сними все выделения.
Убедись, что остаётся один невыделенный файл в каждой подгруппе. Как говорится, "Семь раз отмерь, один раз отрежь".
Всё. Shift+Delete
 
shveicarДата: Понедельник, 19.09.2016, 08:29 | Сообщение № 813
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Цитата Zmy ()
Ну ты окошко, которое на на скрине вызываешь?

У меня нет такого окна.
Возможно это какое-то дополнительное расширение или плагин.
В самом плагине wdHash я не нашел вызов для диалоговых окон..
Пока воспользовался для выделения дубликатов этим скриптом, - http://forum.wincmd.ru/viewpost.php?p=27231
Надеюсь что в утилите, появится возможность составления списка всех дубликатов, для последующего удаления, поскольку с выделением большого количества файлов, есть проблемы.
 
ZmyДата: Понедельник, 19.09.2016, 09:48 | Сообщение № 814
Майор

На сайте с: 19.04.2015
Город: Краснодар
Сообщений: 81
Награды: 1
Репутация: 0
Ну как нет!? Какая версия программы?
Нажимаешь Ctrl+F7 . Появляется окно поиска, правильно? Идёшь на вкладку "Расширенные". Ставишь галку "Искать дубликаты". Неважно, по именам, или по размеру, или по содержанию.
Нажимаешь кнопку "Найти". Нашлось что-то, правильно? Нажимаешь кнопку "Файлы на панель".
Файлы вышли на панель, правильно? Нажимаешь кнопку NUM+.
"Плюсик"!!! на дополнительной цифровой клавиатуре, и появится это окно.

Я смотрю, что о такой возможности почти нигде ничего не знают. И я решил рассказать, как этим пользоваться.
В справке всё описано, но я решил немного описать своими словами. Чтобы стало яснее.
У меня свой перевод Тотала, поэтому я точно не знаю, как в русском переводе правильно звучат названия, но смысл явно будет тот же.
Выделить по имени/расширению: Действуют абсолютно те же правила, которые действуют в диалоге выделения, и в диалоге фильтрации. "*/?/<". Т.е, подстановочные знаки и регулярные выражения. Плюс ко всему, мы можем даже для этих целей вызывать любые темплеты. Вернее, конечно, не любые. Например, далеко не всякий плагин подойдёт.
Мы можем даже создавать индивидуальные тэмплеты для этого дела, чтобы решить нашу индивидуальную задачу.
Снять выделение: Абсолютно идентичные правила, только выделение будет сниматься.
По дате: Тут объянять нечего. Все старые, все новые, выбрать самый старый, выбрать самый новый.
По размеру: Имеет смысл только, когда файлы разные. (Искали только по именам).
На вкладе "Папки": Мы можем выставлять, какие папки будут учавствовать в выделении/снятии. Какие папки не выбраны, те учавствовать не будут, когда мы нажмём кнопку "Применить".
Пользуемся Ctrl и Shift для выбора нескольких директорий. Если стоит галка "Подпаки", то выбирая верхний уровень, автоматически будут выбираться и все его поддиректории.
Паттерны: Вводим часть пути, и нажимаем "Выбрать". В окне вверху выделиться наш паттерн.
Тут можно использовать просто строку, или подстановочные знаки. Если будет стоять галка "Применять только к именам", то когда мы нажмём "Выбрать", не будут выбраны поддиректории нашего паттерна.
Ну и кнопки выбора паттерна, я думаю, что объяснть нечего. Выбрать, удалить выделение, выбрать всё, снять всё выделение и инвертировать.
И внизу, у нас группа настроек, которые отвечают за то, что останется невыделенным.
Сначало идёт первое условие. Его почти всегда хватает. Но бывают случае, когда его не хватает, и приходится использовать второе условие. Например, когда все размеры равны, или когда все даты одиннаковы.
В третьей секции, мы оставляем, что оставить невыделенным. Первый (т.е., по вертикали) в группе, или последний.
Всё. Т.е, это мощнейшее окошко, с помощью которого мы можем снять, или удалить любое выделение.
Строить любые логические задачи.
Гислер не зря старался. Единственное пожелание, чтобы он сделал "аварийную" кнопку для снятия всех выделений.
Будет же удобно. Ведь, не надо будет, чтобы всякий раз, когда надо снять выделение, бежать на вкладку "Файлы", чтобы ввести "*.*". И чтобы эта кнопка присутствовала на обоих вкладках (Файлы/Папки).

.
 
shveicarДата: Понедельник, 19.09.2016, 14:00 | Сообщение № 815
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Цитата Zmy ()
Гислер не зря старался

Оно и видно, - наворотил такое, что черт ногу сломит :)
Ну главное работает.
Я уже давно в справку не смотрел, практически все задачи решаю с помощью утилиты, только с этой возникла проблема.
Но думаю, что Андрей рано или поздно и для дубликатов создаст нормальный инструмент.
 
ZmyДата: Понедельник, 19.09.2016, 18:03 | Сообщение № 816
Майор

На сайте с: 19.04.2015
Город: Краснодар
Сообщений: 81
Награды: 1
Репутация: 0
shveicar, ну что, получилось вызвать то окно?

А насчёт того скрипта от Volniy, то он не пойдёт. Он выделяет только по размерам.

Тем более, в мелких файлах. Там много разных файлов, с одиннаковым размером.
А ниже того скрипта, есть батник от Tol!k. Вот этот батник подойдёт. Он удаляет точно по хешам.

http://forum.wincmd.ru/viewtopic.php?p=27231

Только подправь его.

Код
@echo off &setlocal enableextensions &chcp 1251 >nul
rem Удаление дубликатов по хешу
rem Параметры: D:\папка
rem Автор: Tol!k
rem Используется RHash http://rhash.anz.ru/

set "folder=%~1"
if "%folder:~-1%"=="\" set "folder=%folder:~0,-1%"

set "hash="
for /f "tokens=1,*" %%a in (
'C:\Kemp\_tc\rhash.exe -M -r --ansi "%folder%" ^|sort'
) do call :dd "%%a" "%%b"
goto :eof

:dd
if "%hash%" == "%~1" (attrib -h %2 &del /p %2)
set "hash=%~1"
goto :eof

pause


Если нет rhash.exe, то можешь скачать его отсюда http://sourceforge.net/projects/rhash/files/rhash/.

Пропиши свой путь до утилиты rhash.exe. Я советую, пока что временно изменить "&del /q" на "&del /p".
Это для того, чтобы выводилось подтверждение на удаление каждого файла.
Если будет всё нормально, то верни обратно в "&del /q", и запускай его. В параметрах к кнопке поставь "?%P".
Я его потестировал, работает, как надо. Единственное, что невозможно ничего настроить, как с тем окошком,
про которое я говорил выше.

.
 
asmadeusДата: Понедельник, 19.09.2016, 21:42 | Сообщение № 817
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Всем привет!
Чего то я недопонимаю...
А как можно в выделенных папках удалить ненужные подпапки по маске? Типа выделяю папки, и в них удаляются прописанные мной ненужные подпапки, можно с вводом или выбором в диалоге
 
ZmyДата: Понедельник, 19.09.2016, 22:12 | Сообщение № 818
Майор

На сайте с: 19.04.2015
Город: Краснодар
Сообщений: 81
Награды: 1
Репутация: 0
asmadeus, разговор ведётся про дубликаты файлов. Я имел ввиду, что те папки, которые невыделенные, не будут принимать участие в установке и снятии выделения. Т.е., я выставил какие-то условия, но на вкладке "Папки", я не выделил некоторые папки. Я нажимаю кнопку "Применить", и в тех папках, которые невыделенные, не будут выделены или сняты выделения дубликатов файлов.
 
asmadeusДата: Понедельник, 19.09.2016, 22:28 | Сообщение № 819
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Zmy, прошу прощения, не хотел встрявать в беседу. Просто мне нужна кнопка с описанной задачей, реализованная утилитой TCIMG - тема то "Заказ кнопок". А ваши рецепты по дубликатам мне на днях помогли, не знал некоторых аспектов
 
chip642Дата: Понедельник, 19.09.2016, 22:43 | Сообщение № 820
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
asmadeus
Если я правильно понял конечно.
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
delss=FOLDM<%L!!-2!!-1!!*<input=Удаление~~подпапок|Введите~~фрагмент~~имени||500||100>*>||1
Wcmicons.dll,21
Удалить в выделенных папках все подпапки имеющие в именах фрагмент введенный в диалоговом окне

-1


В данной кнопке проверяются имена на наличие введенного фрагмента в любой части имени, нет строгого ограничения. Если нужно искать по определенному имени, то надо убрать обе звездочки * из параметров. Ну и соответственно, если по определенному началу, то убрать первую звездочку только, если по определенному концу имени, то убрать звездочку вторую. Или можно убрав звездочки из параметров кнопки прописывать их в диалоге, перед вводимым фрагментом и после.

Для проверки можно вначале использовать кнопку ниже, для получения и просмотра списка запрашиваемых папок, а потом уж использовать первую, основную кнопку для удаления.

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
global slist=FOLDM<%L!!-2!!-1!!*<input=Получить~~список~~папок|Введите~~фрагмент~~имени||500||100>*> GLOBALSLIST<a>
Wcmicons.dll,20
Получить в выделенных папках пути всех подпапок имеющих в именах фрагмент введенный в диалоговом окне

-1
 
asmadeusДата: Вторник, 20.09.2016, 07:00 | Сообщение № 821
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Юра, работает без вопросов, кто бы сомневался, я уж как не крутил эти параметры, не выходило...
А усовершенствовать можно? В одну кнопку, как ты делал с кнопкой создания кнопок из команд меню? Получил список, выделил - и снес
 
chip642Дата: Вторник, 20.09.2016, 09:08 | Сообщение № 822
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата asmadeus ()
Получил список, выделил - и снес


Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
global slist=FOLDM<%L!!-2!!-1!!*<input=Получить~~список~~папок|Введите~~фрагмент~~имени||500||100>*> GLOBALSLIST<b> sends=GLOBALARRAY<t>!!-1 delss=GLOBALSENDS<t>||1
Wcmicons.dll,19
Из выделенных папок получить список папок имеющих в именах совпадения с вводимым в диалоговом окне и отметив чекбоксы УДАЛИТЬ выбранные папки

-1
 
shveicarДата: Среда, 21.09.2016, 10:47 | Сообщение № 823
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Цитата Zmy ()
shveicar, ну что, получилось вызвать то окно?


Да, все нормально работает, теперь и команду

Код
seldb=1|md5


доработали, так что уже нет проблем при выделении большого количества найденных дубликатов.
Но, всегда полезно знать об альтернативных способах.
Спасибо.
 
loki-abДата: Четверг, 22.09.2016, 12:35 | Сообщение № 824
Рядовой

На сайте с: 04.02.2016
Город: Львов
Сообщений: 4
Награды: 0
Репутация: 0
Такие две задачи возникли.

1) Переименовать файл под курсором - удалить текст "xyz" в имени файла.
Скопировать в соседнюю панель с заменой. В соседней панели - ФТП.

2) Найти в активной панели с открытым ФТП файл по имени из буфера обмена + текст "xyz", скопировать в соседнюю панель.
 
asmadeusДата: Понедельник, 26.09.2016, 10:01 | Сообщение № 825
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
chip642, то, что надо up
 
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
Поиск:

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