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 

Диалог "Выделение дубликатов" работает с ошибкой

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
woldemar



Joined: 18 Jul 2024
Posts: 5

Post (Separately) Posted: Thu Jul 18, 2024 17:51    Post subject: Диалог "Выделение дубликатов" работает с ошибкой Reply with quote

Итак, пример,есть 5 одинаковых файла (дубля) с разными датами (аттрибут), переходим к диалогу "выдление дубликатов". Первой опцией стоит сравнение "самый новый", я ожидал что НЕ будет выделен "самый новый" (в моем примере - 5 ый), но выделяется почему-то 2-ой.

листинг вывода файлов с датами, видно что даты отличаются на секунды, но отличаются.

Code:
PS D:\test1> Get-ChildItem *.mpeg | Select-Object -Property Name,LastWriteTime

Name            LastWriteTime
----            -------------
f173058107.mpeg 28.11.2019 16:54:27
f299830243.mpeg 28.11.2019 16:54:28
f301939179.mpeg 28.11.2019 16:54:31
f546765587.mpeg 28.11.2019 16:54:32
f576575363.mpeg 28.11.2019 16:54:33

Если грубо даты изменить например +1 год, то все отрабатывает правильно.

Сначала подумал что алгоритм сравнивает до минут, но тогда бы он выбрал 1ый файл . Есть идеи ? или баг ?


Last edited by woldemar on Thu Jul 18, 2024 18:53; edited 2 times in total
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Jul 18, 2024 18:29    Post subject: Reply with quote

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



Joined: 18 Jul 2024
Posts: 5

Post (Separately) Posted: Thu Jul 18, 2024 18:51    Post subject: Reply with quote

Avada
alt-F7 -> дополнительно -> поиск дубликатов -> по содержимому (а разве их можно как-то по другому получить?)

согласно документации алгоритм работает так - 3 условия, какое первое отработает такой файл и будет выбран, у меня стоит по умолчанию
1. самый новый
2. самый новый
3. первый в группе

первые два условия - допустим, алгоритм видит что даты одинаковые, и новых он найти не может, то остается 3 ий, выбирает 1-ый файл в списке.

сейчас затестил, 3 условие выбрал "последний в группе", не выделенным остался последний - 5 ый файл, а он у нас попадает под два критерия, он последний в списке (группе), и самый новый.
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Fri Jul 19, 2024 06:59    Post subject: Reply with quote

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



Joined: 18 Jul 2024
Posts: 5

Post (Separately) Posted: Fri Jul 19, 2024 09:08    Post subject: Reply with quote

Avada
На выходе одинаковые файлы (по содержимому), но разные по времени (не всегда) и разные по именам (всегда). Это файлы с восстановленной ФС, ЕМНИП (за эту аббревиатуру надеюсь придираться не будете...) восстанавливал DMDE по сигнатурам, хотя какое это имеет значение к данному вопросу. Файлы находятся в одной папке, и опять же какая разница где они находятся. В документации об учитывании путей в результатах поиска ничего не сказано, а поиск дублей по разным папкам в т.ч. вложенным вполне типичная ситуация, более того предусмотренная - вкладка "по каталогам" позволяет выбирать в каких каталогах будут удаляться дубли.
По поводу
Quote:
А если галка не снята, то не всё ли равно, какой файл остаётся не выделен — они по данному критерию вроде как одинаковы...

зачем тогда было делать какие то механизмы выборки, если "не все ли равно", хотя я могу напридумывать ситуации когда не все равно. Например, у вас есть много (тысячи) дублей с разными именами, но верные имена (те которые нужно оставить), есть только у файлов с более новыми датами.

Ниже, перевод (не мой) официальной документации.

Quote:
Оставить невыделенным хотя бы один файл в каждой группе:
Эта опция полезна, если вы собираетесь удалить файлы-дубликаты, но хотите гарантированно сохранить как минимум по одному файлу из каждой группы. Для выбора такого файла сначала будет применён метод, выбранный в списке под номером "1". Если ни один файл не соответствует критерию (например, был выбран вариант "Самый новый", а у всех файлов одинаковые метки даты/времени), будет применён метод "2". И, наконец, если он тоже не сработает, используется метод "3", где оставлен выбор только между первым и последним файлом в группе. В первых двух методах, помимо этого критерия, можно также делать выбор на основе даты/времени и размера файла.
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Fri Jul 19, 2024 15:57    Post subject: Reply with quote

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



Joined: 18 Jul 2024
Posts: 5

Post (Separately) Posted: Fri Jul 19, 2024 18:04    Post subject: Reply with quote

Avada
Сейчас поставил время 2-ого файла, таким же как первого, т.е. 2 файла с одинаковой датой (и временем), и система выбрала "самым новым" - 3-ий файл, если бы секунды в зачет не шли то, для программы этот атрибут был бы одинаковым, а тут на изменение секунд видим изменение поведения, так что вовсе не очевидно...
А сейчас, я сделал 4-ый файл "самым новым", поставил ему 59 секунд (в рамках 54 минут как у всех), и система выбрала его.

P.S. Это больше похоже не на "нюанс", а на жука... ну вы поняли.
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Sat Jul 20, 2024 07:18    Post subject: Reply with quote

woldemar
Ваши поправки по единой папке и разным именам учтены. Что касается секунд, то они при обработке округляются, что и влияет, видимо, при столь малой разнице на общую картину (там у третьего и следующих файлов достаточно изменить время модификации на 1-2 секунды. чтобы получить другой результат). Во всяком случае, надёжным критерием разница в секундах тут не является (а во многих других областях TC и вовсе не учитывается). А вот если вы измените у времени какого-то файла именно число минут (хотя бы на одну), картина будет вполне штатной и стабильной.
Кстати, можно заметить, что третий файл будет оставаться без выделения в исходных условиях при любом варианте выбора из любого выпадающего списка (и для даты/времени, и для размера, который тоже одинаков). А также если этих файлов в списке было не пять, а три или четыре. Но это так, между прочим.
В данном конкретном случае и именно в нём (набор одинаковых по содержимому, размеру и дате/времени — кроме секунд — файлов с разными именами лежит в одной папке) исключение из выделения третьего по порядку файла может выглядеть странным. Но оно ни на что принципиально не влияет, потому что для базовой цели данного диалога (подготовки лишних файлов к удалению) на самом деле без разницы, какой из файлов группы останется не выделенным.
Понимаю, что это некоторый диссонанс во вселенской гармонии. Но в 99,99% случаев обработки дубликатов эта ситуация просто никогда не возникнет, да и в вашем случае работе это не мешает. Если же вы желаете и далее обсуждать это поведение как требующий безусловного устранения баг, советую самостоятельно, без посредников обратиться на официальный форум TC. А у меня на этом всё.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
woldemar



Joined: 18 Jul 2024
Posts: 5

Post (Separately) Posted: Mon Jul 22, 2024 10:46    Post subject: Reply with quote

Avada
Мы с вами не кулинарный рецепт обсуждаем, где можно добавить 1-2 щепотки соли и результат не измениться, или изменится, но чуть-чуть.
ИТ - это точная наука, за 1 секунду ЭВМ может натворить много, даже за наносекунду. Но наносекундами в повседневной жизни человек не оперирует, а вот секундами - вполне. Округлять секунды? странный подход в определении новизны.
У меня на этом тоже все.
P.S. "не баг, а фича" получается.
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Mon Jul 22, 2024 11:24    Post subject: Reply with quote

woldemar
Фичей это считать, багом или просто особенностью поведения в конкретных условиях, судить не берусь, у меня однозначное мнение не сложилось. И все дальнейшие претензии (если есть на то желание) — непосредственно к автору. Сюда он не заглядывает, а за вас разбираться с этим вопросом кто-то из участников данного форума захочет вряд ли.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
siealex



Joined: 08 Mar 2009
Posts: 29

Post (Separately) Posted: Mon Oct 14, 2024 01:30    Post subject: Reply with quote

Разница в одну секунду в NTFS далеко не в каждой программе будет учитываться. Если сделать разницу по времени файлов строго больше 2 секунд - проблема воспроизводится или нет?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
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