Создание Symlink с близнецов, в местах удаления дубликатов
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Создание Symlink с близнецов, в местах удаления дубликатов Author: ЧиполлиноLocation: Орёл PostPosted: Tue Mar 12, 2019 23:21
    —
Задача:
Найти дубликаты файлов по имени, размеру и содержимому,
выделить группы, оставив один файл в группе не выделенным,
удалить все выделенные файлы, но при этом создать символические ссылки с оставшихся близнецов, в места удаленных братьев - одногруппников.
Небходима кнопка или что то подобное, что бы задача решалась в одно нажатие.

#2:  Author: LonerDLocation: Донецк PostPosted: Wed Mar 13, 2019 02:18
    —
Нужно обрабатывать только выделенные файлы, но не все одинаковые?

Для обработки каталогов полностью - есть разные консольные утилиты, которые вешаются на кнопку или команду:
https://github.com/jeremitu/finddupe
https://github.com/adrianlopezroche/fdupes
и т.д...

#3:  Author: ЧиполлиноLocation: Орёл PostPosted: Wed Mar 13, 2019 02:32
    —
LonerD wrote:
Нужно обрабатывать только выделенные файлы, но не все одинаковые?

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

#4:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Mar 13, 2019 06:39
    —
Чиполлино
Слишком сложная цепочка действий для того, чтобы увязать это с собственными возможностями TC. Ни о каком "одном нажатии", ИМХО, тут вообще речи быть не может. Есть ли подобный функционал у каких-то внешних утилит, я не знаю за ненадобностью. Но если и есть, это будет, строго говоря, уже никакая не автоматизация средствами TC — на кнопку можно назначить что угодно.
И вообще, кажется, уже была эта тема (с определённого момента успешно заброшенная, несмотря на неотвеченные вопросы). То, что написано сейчас — её прямое продолжение? Кроме того, см. здесь, но и там дело кончилось сторонними программами, а цепочка действий запрашивалась куда более короткая.

#5:  Author: FlasherLocation: Москва PostPosted: Wed Mar 13, 2019 10:49
    —
LonerD
finddupe не делает симлинки, только хард. Как, впрочем, и dfhl с jdupes. А fdupes (аналогично FreeDup, dupd, Rdfind и rmlint) нет для Windows (пока addhaloka нас не порадует Wink ).
Т.е. получается только искать, а далее del + mklink. Либо встать на рельсы PowerShell.

Avada wrote:
это будет, строго говоря, уже никакая не автоматизация средствами TC
Не вижу, где помимо кнопки написано о применении именно средств ТС. Тут суть в замене указанной цепочки на автомат. Т.е. искать, выводить на панель, выделять и т. д. как раз не нужно.
Avada wrote:
с определённого момента успешно заброшенная, несмотря на неотвеченные вопросы
Положительный результат получил, а отвечать на вопросы ему уже, видишь ли, было неинтересно.

Last edited by Flasher on Wed Mar 13, 2019 15:11; edited 1 time in total

#6:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Mar 13, 2019 14:38
    —
Flasher
Ну, если исходить из принципа "нажал и всё" (он же "в одно нажатие"), то тут, конечно, достигнута полнейшая автоматизация. Правда, пока в теории. Обрати внимание, какой ответ был дан на вполне обоснованную попытку уточнить, что и где искать.

#7:  Author: FlasherLocation: Москва PostPosted: Wed Mar 13, 2019 14:55
    —
Avada
Обратил. Это подразумевает, что либо он сам будет искать дубликаты Тоталом, а потом кнопка заменит все кроме одной копии на симлинки, либо автомат сам всё найдёт и произведёт замену.
Первое будет сложнее и в совокупности дольше, так как перечисленные утилиты не работают со списками.

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

Мне кажется, что в твоём сообщении более вероятно последнее "либо". Во всяком случае, никаких существенных пояснений больше нет.

#9:  Author: FlasherLocation: Москва PostPosted: Wed Mar 13, 2019 16:37
    —
Avada
Ничего нового в отношении второго "либо" он не написал. Это всё и так понятно (с той лишь разницей, что подсчётом и группировкой размеров/хэшей будет заниматься сам поисковик без сторонней помощи, просто выводя список найденного). А на первое просто надо забить.

#10:  Author: ЧиполлиноLocation: Орёл PostPosted: Thu Mar 14, 2019 03:31
    —
Flasher wrote:
автомат сам всё найдёт и произведёт замену.

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

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

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

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

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

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

Извиняюсь. Имён + Хешей. (оба правила вместе)

#11:  Author: FlasherLocation: Москва PostPosted: Thu Mar 14, 2019 09:44
    —
Чиполлино wrote:
это не актуально уже, не пойдет для моих целей.
Без этого вообще ничего не получится.
Чиполлино wrote:
Симлинк с близнеца должен иметь абсолютно одинаковое имя с удаленным файлом (файлами).
Это нисколько не исключает актуальность предыдущей цитаты. Исходные имена заменяемых файлов программы и не меняют.
Чиполлино wrote:
и перемещение всех файлов в один каталог
Каких всех, если имена могут совпадать?

Слишком много избыточной писанины (весь водопад мыслей не осилил — при повторном выплеске просто пройду мимо), а по существу не сказано главного:
а) Что конкретно должно быть исходным местом/местами поиска.
б) Почему нужны именно симлинки, а не хардлинки.

#12:  Author: ЧиполлиноLocation: Орёл PostPosted: Thu Mar 14, 2019 22:14
    —
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

#13:  Author: FlasherLocation: Москва PostPosted: Thu Mar 14, 2019 22:55
    —
Чиполлино wrote:
То, что выделю Я.
Я объяснил, что этот вариант плох.
Чиполлино wrote:
Думаю и хардлинки то же пойдут.
Надо не думать, надо знать. Хардлинки — это как путевые точки указания на один физический объект, но в рамках одного тома. Исходный файл в NTFS — по сути тот же хардлинк. Дубли лежат в одном томе?

Объясняю суть того, как могут работать вышеуказанные утилиты. Они ищут дубликаты по содержимому и заменяют их на хардлинки (без смены имён), связанные одним физическим объектом в томе. Этот вариант годится?

#14:  Author: ЧиполлиноLocation: Орёл PostPosted: Thu Mar 14, 2019 23:07
    —
Flasher wrote:
Дубли лежат в одном томе?

Давайте поясню, если я правильно понял.
Если считать ТОМОМ корневую папку библиотеки (назовем ее "Х", то в 99% случаев они лежат в папки Samples.
Х\Samples
В паке Samples кол-во подпапок может быть огромным до безумия. По крайней мере 15 уровней вложений бывало. Если ТОМ - это "Samples", то ответ ДА.

#15:  Author: FlasherLocation: Москва PostPosted: Thu Mar 14, 2019 23:20
    —
Чиполлино
Том — это раздел диска после разметки или весь диск с заданной буквой (C:, D: и т. д.). Судя по ответу папка одна, значит, и том один.

Жду ответа на второй вопрос.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2, 3  Next  :| |:
Page 1 of 3

Powered by phpBB © 2001, 2005 phpBB Group