Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Создание Symlink с близнецов, в местах удаления дубликатов
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Чиполлино



Joined: 23 Dec 2017
Posts: 30
Location: Новочеркасск

Post (Separately) Posted: Tue Mar 12, 2019 23:21    Post subject: Создание Symlink с близнецов, в местах удаления дубликатов Reply with quote

Задача:
Найти дубликаты файлов по имени, размеру и содержимому,
выделить группы, оставив один файл в группе не выделенным,
удалить все выделенные файлы, но при этом создать символические ссылки с оставшихся близнецов, в места удаленных братьев - одногруппников.
Небходима кнопка или что то подобное, что бы задача решалась в одно нажатие.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1089
Location: Донецк

Post (Separately) Posted: Wed Mar 13, 2019 02:18    Post subject: Reply with quote

Нужно обрабатывать только выделенные файлы, но не все одинаковые?

Для обработки каталогов полностью - есть разные консольные утилиты, которые вешаются на кнопку или команду:
https://github.com/jeremitu/finddupe
https://github.com/adrianlopezroche/fdupes
и т.д...
_________________
Total Commander DreamLair - мечтать всегда, мыслить тотально, быть командиром жизни
Win10 x64 HE SL Eng | TC DreamLair eternal pre-α (9.22a x32+x64) | AkelPad Lair (4.9.9 x86) | Cent Browser Lair
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 30
Location: Новочеркасск

Post (Separately) Posted: Wed Mar 13, 2019 02:32    Post subject: Reply with quote

LonerD wrote:
Нужно обрабатывать только выделенные файлы, но не все одинаковые?

При всем уважении, нужно сделать то, что написано в задании. Выделенные файлы, иди обработка выделенного каталога -значения это не имеет. Важен результат-нажал на что то, и всё.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9261
Location: Россия, Саратов

Post (Separately) Posted: Wed Mar 13, 2019 06:39    Post subject: Reply with quote

Чиполлино
Слишком сложная цепочка действий для того, чтобы увязать это с собственными возможностями TC. Ни о каком "одном нажатии", ИМХО, тут вообще речи быть не может. Есть ли подобный функционал у каких-то внешних утилит, я не знаю за ненадобностью. Но если и есть, это будет, строго говоря, уже никакая не автоматизация средствами TC — на кнопку можно назначить что угодно.
И вообще, кажется, уже была эта тема (с определённого момента успешно заброшенная, несмотря на неотвеченные вопросы). То, что написано сейчас — её прямое продолжение? Кроме того, см. здесь, но и там дело кончилось сторонними программами, а цепочка действий запрашивалась куда более короткая.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13499
Location: Москва

Post (Separately) Posted: Wed Mar 13, 2019 10:49    Post subject: Reply with quote

LonerD
finddupe не делает симлинки, только хард. Как, впрочем, и dfhl с jdupes. А fdupes (аналогично FreeDup, dupd, Rdfind и rmlint) нет для Windows (пока addhaloka нас не порадует Wink ).
Т.е. получается только искать, а далее del + mklink. Либо встать на рельсы PowerShell.

Avada wrote:
это будет, строго говоря, уже никакая не автоматизация средствами TC
Не вижу, где помимо кнопки написано о применении именно средств ТС. Тут суть в замене указанной цепочки на автомат. Т.е. искать, выводить на панель, выделять и т. д. как раз не нужно.
Avada wrote:
с определённого момента успешно заброшенная, несмотря на неотвеченные вопросы
Положительный результат получил, а отвечать на вопросы ему уже, видишь ли, было неинтересно.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Wed Mar 13, 2019 15:11; edited 1 time in total
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9261
Location: Россия, Саратов

Post (Separately) Posted: Wed Mar 13, 2019 14:38    Post subject: Reply with quote

Flasher
Ну, если исходить из принципа "нажал и всё" (он же "в одно нажатие"), то тут, конечно, достигнута полнейшая автоматизация. Правда, пока в теории. Обрати внимание, какой ответ был дан на вполне обоснованную попытку уточнить, что и где искать.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13499
Location: Москва

Post (Separately) Posted: Wed Mar 13, 2019 14:55    Post subject: Reply with quote

Avada
Обратил. Это подразумевает, что либо он сам будет искать дубликаты Тоталом, а потом кнопка заменит все кроме одной копии на симлинки, либо автомат сам всё найдёт и произведёт замену.
Первое будет сложнее и в совокупности дольше, так как перечисленные утилиты не работают со списками.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9261
Location: Россия, Саратов

Post (Separately) Posted: Wed Mar 13, 2019 15:22    Post subject: Reply with quote

Flasher
Некоторая информация поступала также мне в ЛС, но там я дискуссию затевать не стал. Вот то, например, чего не было в теме.
Quote:
Задачу можно усложнить, указав условия поиска -РАЗМЕР+Содержимое (т.е ХЭШ) но после удаления одинаковых по содержимому одногруппников, линки, созданные с оставшегося файла, должны иметь имена удаленных файлов.

Мне кажется, что в твоём сообщении более вероятно последнее "либо". Во всяком случае, никаких существенных пояснений больше нет.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13499
Location: Москва

Post (Separately) Posted: Wed Mar 13, 2019 16:37    Post subject: Reply with quote

Avada
Ничего нового в отношении второго "либо" он не написал. Это всё и так понятно (с той лишь разницей, что подсчётом и группировкой размеров/хэшей будет заниматься сам поисковик без сторонней помощи, просто выводя список найденного). А на первое просто надо забить.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 30
Location: Новочеркасск

Post (Separately) Posted: Thu Mar 14, 2019 03:31    Post subject: Reply with quote

Flasher wrote:
автомат сам всё найдёт и произведёт замену.

Хотелось бы так, я лишь покажу где искать. ( выделю каталог или файлы-что удобнее для решения задачи, то и сделаем)

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

Flasher wrote:
подсчётом и группировкой размеров/хэшей

это не актуально уже, не пойдет для моих целей. Симлинк с близнеца должен иметь абсолютно одинаковое имя с удаленным файлом (файлами). Это уже специфика работы программы, которая после выполнения задания, будет искать недостающие файлы. Она сможет искать только по именам. Созданные симлинки в итоге придется удалить, когда не останется одноименных файлов вообще.(это уже моя забота) И тогда программа сядет на зад...Ей нужно точное имя.Она не подхватит файл, на который был симлинк, если файл имеет другое имя. Симлинки она видит. А для борьбы с дубликатами по Хеш, Вы мне изготовили решение ранее. Еще раз благодарю. Видит Бог, я бы не мучал Вас, если бы знал как создать симлинки в ручную с оставшихся близнецов, да еще положить их на места удаленных файлов. Я пользуюсь Link Shell Extension. Выделить оставшихся в живых близнецов, и создать Линки -не проблема. А вот как их направить на места покойников? -эта прога точно этого не умеет.
Конечной задачей моих действий является полное избавление от дубликатов по имени, имени + размеру + содержимому, и по Хеш, и перемещение всех файлов в один каталог, для применения кнопки (о ней ниже)
- В первом вопросе (по имени) никакая автоматизация ТС не поможет, хотя сам ТС очень здорово помогает в поиске и решении
этой задачи. Виной только та прога, где применяется материал, и обмануть ее можно только применив манипуляции в ручную.
Причем в разных случаях - механизм обмана разный. Никакого однообразия действий при решении этой задачи нет,
в силу разной структуры папок, где находятся одноименные файлы, их кол-ва и т.д.
- Второй вопрос, имя + размер + содержимое -я прошу помочь решить, и алгоритм решения я вижу лишь таким. В ручную я его решаю, но немного иначе, без линков, то же с использованием ТС.
- Третий момент - ХЕШ -решен с Вашей помощью, и теперь на Вас молиться не только мир обычных пользователей ТС, но и мир музыкантов, кто "в теме". Особенно за кнопку по лимитного перемещения файлов в номерные папки.
Одновременное решение трех задач не подойдет. Прога должна "понюхать" (просчитать) новую структуру и содержимое папок, после каждого внесенного изменения. Из за этого "ПОНЮХАТЬ" я не могу Вам предложить задание, которое полностью бы выполнило все три задачи. В процесс бы пришлось включать автокликер, который в разных случаях по разному указывает проге что делать, при не нахождении файла .ТС этого сделать не сможет. Если бы прога могла считать ХЕШ -то проблема была бы решена быстрее. Но Увы.
И еще просьба. Пожалуйста, не спрашивайте у меня, почему эта программа не может так или так действовать и искать?
В своем прямом назначении (имитировать звуки, допустим Рояля, Саксофона, Гитары и многих других инструментов) -она номер 1 в мире.
А вот в этм вопросе -она в 1000000 раз тупее Вас и в 10000 раз - тупее меня. Я работаю с ней 10 лет.
И знаю эту гадину насквозь. Я засыпал модератора форума, где она обсуждается вопросами, почему????
Почему,при не нахождении какого либо файла, она, имея в наличии пункт "ПОИСК ДУБЛИКАТОВ", - считает дубликатом найденный одноименный файл? А если такого нет -просто стоит на месте.
Это же бред!!! За 10 лет было произведено примерно 20 модификаций (выход новых версий). Но воз и ныне там. Хотя это беда многих VSTi плагинов.
(ближайшие 45 дней смогу отвечать только ночью)

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

Flasher wrote:
подсчётом и группировкой размеров/хэшей

Извиняюсь. Имён + Хешей. (оба правила вместе)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13499
Location: Москва

Post (Separately) Posted: Thu Mar 14, 2019 09:44    Post subject: Reply with quote

Чиполлино wrote:
это не актуально уже, не пойдет для моих целей.
Без этого вообще ничего не получится.
Чиполлино wrote:
Симлинк с близнеца должен иметь абсолютно одинаковое имя с удаленным файлом (файлами).
Это нисколько не исключает актуальность предыдущей цитаты. Исходные имена заменяемых файлов программы и не меняют.
Чиполлино wrote:
и перемещение всех файлов в один каталог
Каких всех, если имена могут совпадать?

Слишком много избыточной писанины (весь водопад мыслей не осилил — при повторном выплеске просто пройду мимо), а по существу не сказано главного:
а) Что конкретно должно быть исходным местом/местами поиска.
б) Почему нужны именно симлинки, а не хардлинки.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 30
Location: Новочеркасск

Post (Separately) Posted: Thu Mar 14, 2019 22:14    Post subject: Reply with quote

Flasher wrote:
Что конкретно должно быть исходным местом/местами поиска.

То, что выделю Я. (Каталог, или выделенные файлы этого каталога,когда применена команда "ПОКАЗАТЬ БЕЗ ПОДКАТАЛОГОВ) не важно -тут я отдаю принятие решения ВАМ)

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

Flasher wrote:
Почему нужны именно симлинки, а не хардлинки.

От моего незнания. Думаю и хардлинки то же пойдут. Программа не видит обычные ярлыки, но символические ссылки видит. Хардлинк ведь является такой ссылкой? Сразу вопрос: для создания хардлинков придется ставить плагин в ТС? Конфликта не возникнет, если в системе уже стоит Link Shell Extension? WIN 7x64

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

Flasher wrote:
Каких всех, если имена могут совпадать?

1. Если Вы автоматизируете задачу, то первым делом я избавлюсь от файлов-близнецов по ИМЯ+РАЗМЕР+СОДЕРЖИМОЕ (возможно в несколько этапов)
2. Затем я избавлюсь от одноимённых файлов, с разным ХЕШ в ручную переименую дубликаты) (это не автоматизировать - я описал причину, но иногда можно заставить это сделать саму прогу, опустим этот пункт))
3. Избавлюсь от близнецов по ХЕШ (повторюсь -решение Вы сделали ранее)
оно называется Переместить файлы из структуры активного каталога в MD5-папки
Если интересен пункт 3 - то, после удаления близнецов по ХЕШ, останется только один экземпляр из каждой выделенной группы. Программа естественно не найдет удаленных близнецов. Только ее можно заставить указать именно файл, которого увы нет. В этом случае она приведет нас в ту папку, откуда был удален этот файл. Но там будет находиться собрат удаленного близнеца. Ткнем прогу мордой в него. И так 17000 раз подряд (иногда) Автокликер в помощь.
Flasher -если задача слишком разветвлена и сложна, может можно что то типа макроса создать? Пускай все происходящее отображается, видится. Да бог с ним. Опять же, со своей колокольни сужу. Вы то делаете по фирме всегда. За что ты нам люб и дорог Exclamation Exclamation Exclamation Exclamation Exclamation

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

Flasher wrote:
Без этого вообще ничего не получится.

Я не против просчета ХЕШ, но результат должен быть -совпадение по ИМЯ+ХЕШ. Кстати в одной из тем Вы дискуссировали на тему поиска по ХЕШ с полмощью плагина,и последующей проверки результатов поиска по ИМЯ+СОДЕРЖИМОЕ. И что то там у Вас не срасталось. Вы по моему ГИСЛЕРУ об этом писали. Точно уже не помню.


Last edited by Чиполлино on Thu Mar 14, 2019 23:00; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13499
Location: Москва

Post (Separately) Posted: Thu Mar 14, 2019 22:55    Post subject: Reply with quote

Чиполлино wrote:
То, что выделю Я.
Я объяснил, что этот вариант плох.
Чиполлино wrote:
Думаю и хардлинки то же пойдут.
Надо не думать, надо знать. Хардлинки — это как путевые точки указания на один физический объект, но в рамках одного тома. Исходный файл в NTFS — по сути тот же хардлинк. Дубли лежат в одном томе?

Объясняю суть того, как могут работать вышеуказанные утилиты. Они ищут дубликаты по содержимому и заменяют их на хардлинки (без смены имён), связанные одним физическим объектом в томе. Этот вариант годится?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 30
Location: Новочеркасск

Post (Separately) Posted: Thu Mar 14, 2019 23:07    Post subject: Reply with quote

Flasher wrote:
Дубли лежат в одном томе?

Давайте поясню, если я правильно понял.
Если считать ТОМОМ корневую папку библиотеки (назовем ее "Х", то в 99% случаев они лежат в папки Samples.
Х\Samples
В паке Samples кол-во подпапок может быть огромным до безумия. По крайней мере 15 уровней вложений бывало. Если ТОМ - это "Samples", то ответ ДА.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13499
Location: Москва

Post (Separately) Posted: Thu Mar 14, 2019 23:20    Post subject: Reply with quote

Чиполлино
Том — это раздел диска после разметки или весь диск с заданной буквой (C:, D: и т. д.). Судя по ответу папка одна, значит, и том один.

Жду ответа на второй вопрос.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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