Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Поиск дубликатов по началу имени файла?

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

profleb

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача:
Надо найти на двух дисках (не внутри одного, только между разными дисками) файлы с одинаковыми 6-7-8ю буквами в начале названия, не учитывая в названиях точки между словами, пробелы и расширение файлов. Например, сравнивая файлы таким образом, в интерфейсе софтины я хотел бы видеть рядом  
D:\Лес. Густой.720.dub.mkv и  
F:\evhfj\Лес Густой.1080p.2AVO.avi
Мне надо таким макаром выявить дубликаты файлов киношек и музыки на четырех толстых хардах и выбросить ненужное.
Наверняка, это может сделать Beyond Compare или TC. Подскажите, как точно выполнить эту задачу.
Спасибо заранее.

Всего записей: 2 | Зарегистр. 02-04-2008 | Отправлено: 15:26 15-02-2018
metatrop

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Название темы сбивает с толку, потому что дубликатами обычно называют файлы с точно совпадающим содержимым (имена могут быть совершенно разные), а здесь речь идёт о поиске файлов с примерно одинаковыми именами (содержимое avi и mkv файлов будет различаться, даже если картинка видео одинаковая).
 
Если пользователь продвинутый, то всё это делается с нуля за 5-10 минут с помощью системной команды dir /b /s /a, ряда замен по регулярным выражениям в тексте (в редакторе FAR Manager'а, например) и системной утилиты sort. В результате получается текстовый файл, где подряд идут строки с одинаковыми именами, после которых указаны разные маршруты.
 
Но неискушённому пользователю такое объективно не под силу, и остаётся только искать GUI-программу с большой кнопкой.

Всего записей: 313 | Зарегистр. 17-09-2010 | Отправлено: 16:21 15-02-2018
Andarin



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
profleb
Посмотрите программу AllDup. Она может сравнить и показать дубликаты по разным критериям. В частности, вам должен подойти метод сравнения только по имени файла, сравнивать символы в начале файла (и указать, сколько символов). Идеально вам должно подойти.
А то, что предложено чуть выше - это не для продвинутого пользователя, а для особо извращённого, которому время девать некуда. Это почти как поставить рядом два окна проводника с разными папками и визуально сравнивать.

Всего записей: 3065 | Зарегистр. 04-03-2006 | Отправлено: 16:47 15-02-2018 | Исправлено: Andarin, 16:58 15-02-2018
profleb

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спасибо! наверное, это то, что нужно! Еще бы исключить поиск на одном диске, а только на разных, было б вообще прекрасно)

Всего записей: 2 | Зарегистр. 02-04-2008 | Отправлено: 16:54 15-02-2018
Andarin



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
profleb
Ну попробуйте поставить во вкладке "Исходные папки"  метод сравнения - искать дубли только в других исходных папках

Всего записей: 3065 | Зарегистр. 04-03-2006 | Отправлено: 17:01 15-02-2018
MirCyber



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

profleb
http://forum.ru-board.com/topic.cgi?forum=5&topic=0360
простая и очень шустрая
 

Всего записей: 3388 | Зарегистр. 23-03-2010 | Отправлено: 17:26 15-02-2018
Andarin



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MirCyber
Программа хорошая и шустрая. Но вот как-то не понятно, как она обнаружит, к примеру, два приведённых TC дубликата:
D:\Лес. Густой.720.dub.mkv и  
F:\evhfj\Лес Густой.1080p.2AVO.avi

Всего записей: 3065 | Зарегистр. 04-03-2006 | Отправлено: 17:31 15-02-2018
metatrop

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andarin

Цитата:
 
А то, что предложено чуть выше - это не для продвинутого пользователя, а для особо извращённого, которому время девать некуда. Это почти как поставить рядом два окна проводника с разными папками и визуально сравнивать.
 

Визуальное сравнение вообще тут ни при чём, абсурдная аналогия ни к селу, ни к городу. Понимаете ли вообще, о чём речь? Или думаете, по наивности, что имена файлов-"недубликатов" нельзя убрать из списка?
 
Что же касается затрат времени, то 5-10 минут (с нуля, если раньше такая задача не возникала, в противном случае быстрее, а если реально часто нужно - пишется небольшой скриптик на Perl) - явно быстрее, чем искать программу и ставить.
 
Ну и потом, как насчёт условий задачи? Тут нужны трансформации текста с целью игноририрования точек и пробелов. Может быть и есть программы, где это можно задать (потратив время на понимание, как именно это делать), но вообще вполне вероятно, что таковых в природе нет. Весело будет потрать часы на поиск того, чего нет в природе...

Всего записей: 313 | Зарегистр. 17-09-2010 | Отправлено: 18:10 15-02-2018 | Исправлено: metatrop, 18:18 15-02-2018
Andarin



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
metatrop

Цитата:
Ну и потом, как насчёт условий задачи? Тут нужны трансформации текста с целью игноририрования точек и пробелов. Может быть и есть программы, где это можно задать (потратив время на понимание, как именно это делать), но вообще вполне вероятно, что таковых в природе нет. Весело будет потрать часы на поиск того, чего нет в природе...  
В природе есть, и именно эта прога и была посоветована. А про затраты времени - попробуйте, и засеките. Для примера возьмите хотя бы по тысяче файлов на двух дисках, я о
Цитата:
с помощью системной команды dir /b /s /a, ряда замен по регулярным выражениям в тексте (в редакторе FAR Manager'а, например) и системной утилиты sort. В результате получается текстовый файл, где подряд идут строки с одинаковыми именами, после которых указаны разные маршруты
потом ещё из этого файла выбирать похожие имена, искать их на дисках и ещё удалять. И это 5-10 минут? Ни за что не поверю.

Всего записей: 3065 | Зарегистр. 04-03-2006 | Отправлено: 18:38 15-02-2018
wvxwxvw

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
profleb

Цитата:
AllDup
Еще бы исключить поиск на одном диске, а только на разных, было б вообще прекрасно

Все там есть, ищите лучше, прямо на главной странице опция.

Всего записей: 5677 | Зарегистр. 02-04-2015 | Отправлено: 18:39 15-02-2018 | Исправлено: wvxwxvw, 18:40 15-02-2018
metatrop

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andarin

Цитата:
 
потом ещё из этого файла выбирать похожие имена, искать их на дисках и ещё удалять. И это 5-10 минут? Ни за что не поверю.
 

Искать файлы на дисках, бегать по папкам - на самом деле не требуется. Достаточно выделить маршрут в редакторе FAR и нажать клавишу перехода на файл (макрос). Если готовы удалять не глядя, можно просто преобразовать все лишние маршруты в .bat файл с командами del "имя_файла". Мы ведь говорим о продвинутых пользователях, а не о пользователях проводника.
 
5-10 минут - это на получение списка, без разборки файлов. И в чём проблема сделать dir на тысячу файлов? Это пара секунд максимум. Доступа к содержимому файлов задача не требует. Если сторонняя программа этим занимается и считает хэши, то данные действия излишни!
 
Именно такой задачи не возникало у меня, но отдалённо напоминающих - масса. И уж на них точно не написано специальных программ.

Всего записей: 313 | Зарегистр. 17-09-2010 | Отправлено: 18:51 15-02-2018
Andarin



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Если сторонняя программа этим занимается и считает хэши, то данные действия излишни!  

Это если надо сравнивать по содержимому, а так - зачем их считать, она и не считает.

Цитата:
Что же касается затрат времени, то 5-10 минут (с нуля, если раньше такая задача не возникала, в противном случае быстрее, а если реально часто нужно - пишется небольшой скриптик на Perl) - явно быстрее, чем искать программу и ставить
А искать, скачивать FAR, Perl, изучать - это быстро?
На эту тему разговор завершаю, всё равно вам бесполезно доказывать, аргументы вы не воспринимаете, ответов не читаете. И вообще был конкретный вопрос, на него отвечено. Да и 5-10 минут - в AllDup за это время можно сделать всю операцию, с удалением файлов, да и перекурить потом.

Всего записей: 3065 | Зарегистр. 04-03-2006 | Отправлено: 19:40 15-02-2018
metatrop

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
А искать, скачивать FAR, Perl, изучать - это быстро?
 

Было оговорено, что речь о продвинутых пользователях, а таковые знают FAR и регулярные выражения (Perl нужен только если скрипт делать).

Цитата:
 
аргументы вы не воспринимаете
 

Аргументы просто несостоятельны. Если продвинутый пользователь начнёт искать и устанавливать незнакомую программу, то потратит несравненно больше времени - ожидая ответа на форуме или лично отсеивая неподходящие программы. Но сама программа, конечно, должна быстро отработать.  

Цитата:
 
Да и 5-10 минут - в AllDup за это время можно сделать всю операцию, с удалением файлов, да и перекурить потом.
 

Разве что с удалением файлов не глядя. Если разбираться, mp4 или mkv файл удалять, сравнивать качество, то время резко возрастёт.

Всего записей: 313 | Зарегистр. 17-09-2010 | Отправлено: 19:58 15-02-2018 | Исправлено: metatrop, 19:58 15-02-2018
Andarin



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Было оговорено, что речь о продвинутых пользователях, а таковые знают FAR и регулярные выражения (Perl нужен только если скрипт делать)
Вообще-то "продвинутый пользователь" и не будет задавать такой вопрос, и это не было оговорено. С другой стороны, если он продвинутый пользователь - искать и устанавливать программу - много времени не займёт.
Цитата:
Разве что с удалением файлов не глядя. Если разбираться, mp4 или mkv файл удалять, сравнивать качество, то время резко возрастёт.
а с вашим методом - что, время на это не потребуется?
И ещё, почему вы считаете, что "продвинутый пользователь" всё будет делать топором и напильником, а не возьмёт более удобный инструмент? Тогда уж лучше назвать его "двинутый пользователь"

Всего записей: 3065 | Зарегистр. 04-03-2006 | Отправлено: 20:12 15-02-2018
metatrop

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
если он продвинутый пользователь - искать и устанавливать программу - много времени не займёт.
 

Гораздо больше займёт, чем 5-10 минут.
 

Цитата:
 
а с вашим методом - что, время на это не потребуется?
 

Так у меня и не было речи, чтобы в 5-10 минут уложится вместе с разбором файлов.
 

Цитата:
 
И ещё, почему вы считаете, что "продвинутый пользователь" всё будет делать топором и напильником, а не возьмёт более удобный инструмент?
 

Возьмёт, если инструмент нужен часто и если он существует. Или напишет скрипт - смотря что удобнее выйдет.
 
Вы хорошую программу предложили (если она и впрямь может искать по похожим именам, без учёта содержимого файлов). Но не надо было пытаться критиковать альтернативный метод, который не понимаете. Он несравненно более универсален, для одиночной ситуации оказывается более быстрым, и его упоминание решительно никому не повредит.

Всего записей: 313 | Зарегистр. 17-09-2010 | Отправлено: 20:32 15-02-2018
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно отыскать сходные имена, но для уверенности что файлы одинаковы нужно их сравнить.  
 
Я использую такой приём - в Far3 сначала вызываю плагин Дерево папок он строит линейный список файлов на своей панели, затем вызываю Lua скрипт который выделяет сходные имена файлов, а после когда их адреса известны сравниваю с помощью плагина IntChecker2 по SHA-256/SHA-512 благо плагин быстро считает эти хэши, а для алгоритмов семейства SHA-2 пока не обнаружено условий возникновения коллизии алгоритмов - условий когда два и более различных битовых набора формируют одинаковый хэш (известны для алгоритмов семейств CRC-xx, MD2. MD4, MD5, SHA-1).  
 
Операции хэш-сравнения выполняются быстрее чем операции побитного сравнения за счёт параллельной обработки блоков в хэш функции. Мне это даёт меньшее время поиска дубликатов в больших массивах данных. В принципе можно написать специальный Lua скрипт файлового компаратора, но я пока не вижу необходимости бросать все дела и садится его писать.
 
 

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 21:07 15-02-2018
metatrop

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Вы подтверждаете, что название темы вводит в заблуждение. Здесь автор считает "дубликатами" даже разные по содержанию файлы. Например, если один и тот же фильм в .avi формате и в .mkv - это дубликаты (содержимое, естественно, различается, даже если видеопоток в точности совпадает, хотя может и не совпадать).

Всего записей: 313 | Зарегистр. 17-09-2010 | Отправлено: 21:15 15-02-2018
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Программы » Поиск дубликатов по началу имени файла?


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru