powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поиск копий файлов в папке с подпапками. Может кому пригодится
17 сообщений из 17, страница 1 из 1
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39235827
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наконец-то почистил архив фоток. За 10 лет там такой бардак устроили, что руками нереально разгребать. Одно и тоже понакопировали в разные папки. Удалилось 13 Гб из 120.

Прога в аттаче (исходник на C# и батник для компиляции) Ищет дубли по содержимому и переносит их в отдельную подпапку.

Если кому надо - пользуйтесь.

Для компиляции запустить compile.cmd
Саму прогу так запускатьFindFileCopy <folder> [-clean] [-main:subfolder1;subfolder2...]
Параметры:
<folder> папка внутри которой идет поиск
-main:subfolder1;subfolder2... перечень подпапок, которые считать оригиналами (из них копии не убираются)
-clean создать подпапку _double_copy_XXXX и туда переместить найденные повторы вместе с путями, иначе только сообщения о повторах.

Пример:
FindFileCopy c:\Foto -clean -main:2014;2015;2016

Если запустить просто
FindFileCopy c:\Foto
то только напишет где дубли, ничего переносить не будет
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236253
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Dima T,

а учитывается поворот фотографий?
а то ведь в одном каталоге может лежать фото, а в другом - такое же, только повернутое.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236288
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TИщет дубли по содержимому
Ну так этого добра типа dblfiles в нете аки грязи. И с гуями, и cli, и со всякоразными наворотами...

Dima TИщет дубли по содержимому
Я, конечно, в шарпах нуль - но чисто на взгляд дубли ищутся по MD5 содержимого, а не по самомУ содержимому.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236292
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseа учитывается поворот фотографий?
а то ведь в одном каталоге может лежать фото, а в другом - такое же, только повернутое.
Не, только поиск одинаковых файлов.
AkinaЯ, конечно, в шарпах нуль - но чисто на взгляд дубли ищутся по MD5 содержимого, а не по самомУ содержимому.
Там три проверки: сначала совпадение размера файла, потом MD5 от первых 16 Кб, потом полный MD5. Думаю это равносильно сравнению содержимого.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236298
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TДумаю это равносильно сравнению содержимого.
Да, вероятность коллизии пренебрежимо мала - но тем не менее она не нулевая.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236339
jmp_original
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T , Auslogics Duplicate File Finder чем не устроил?
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236353
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tпотом полный MD5зачем полный мд5, не проще (и надёжнее) ли сравнивать уже 2 файла целиком?
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236400
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirDima Tпотом полный MD5зачем полный мд5, не проще (и надёжнее) ли сравнивать уже 2 файла целиком?
В худшем случае тормоза будут: если мы имеем N разных файлов одинакового размера с одинаковыми первыми 16 кб, то каждый файл будет прочитан N-1 раз. А так каждый файл по 1 разу читается.

И потом MD5 посчитать кода меньше, чем содержимое сравнивать.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236414
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tесли мы имеем N разных файлов одинакового размераА вот было бы интересно посчитать распределение длин файлов.
Что-то мне подсказывает, что (если речь об исходных фотографиях с фотоаппарата, а не уменьшенных копиях) распределение будет довольно равномерным с очень малым количеством совпадений по размеру.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236456
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае с фотками думаю немного одинакового размера.
Возьмем другой, вполне реальный случай: N копий в разных папках, тогда для сравнения по содержимому надо будет (N-1)*2 чтения файла целиком. А так только N.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236462
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TN копий в разных папках, тогда для сравнения по содержимому надо будет (N-1)*2 чтения файла целиком.Это если сравнивать только попарно и ничего не кэшировать. Однако при современных объемах ОЗУ не вижу проблемы держать в памяти даже несколько десятков файлов, чего более чем достаточно для фотографий.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236561
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима. Я пару лет назад реализовал для себя imagehash на Java.

https://special.habrahabr.ru/kyocera/p/237307/

самый первый и самый жлобский вариант где идет сравнение 8x8 биткарт.

Обнаружил у себя в коллекции фоток - целые директории копий (да такое бывает).
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236631
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jmp_original Dima T , Auslogics Duplicate File Finder чем не устроил?
так каждый может
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236704
jmp_original
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Charles Weylandтак каждый может
Да, я уже понял.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39236906
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДима. Я пару лет назад реализовал для себя imagehash на Java.

https://special.habrahabr.ru/kyocera/p/237307/

самый первый и самый жлобский вариант где идет сравнение 8x8 биткарт.
Можно попробовать это запилить, на поиски однотипных фоток (обычно 3-4 в одном месте и "потом выберем получше"). Теоретически 2/3 должно удалится, но тут сразу встает административная проблема: кто досортирует, т.е. примет решение что именно эта фотка лишняя. У меня таких решительных нет, потому и лежит весь архив как есть. Удалил 10% уже хорошо.
maytonОбнаружил у себя в коллекции фоток - целые директории копий (да такое бывает).
Хоть кому-то пригодилось :)
Цель была именно такая - похерить задвоения.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39237175
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,
у меня аналогичное есть на питоне.
Чака называется.

но цель другая - переименовать файлы чтобы расположить их в порядке возрастная времени съемки, чтобы собирать с разных фотоаппаратов все фото в одну кучу.
...
Рейтинг: 0 / 0
Поиск копий файлов в папке с подпапками. Может кому пригодится
    #39237213
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv, а откуда ты берешь время съемки?
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поиск копий файлов в папке с подпапками. Может кому пригодится
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]