Как рассчитывал? А то у меня 100% получилось в тестовой структуре.Flasher писал(а):Вероятность, что две ближайшие группы совпадут по размеру, но окажутся разными по содержимому = 0,0000000000000001%.
Выделение дубликатов
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Ситуация, когда у одноимённых файлов размеры одинаковые, а содержимое разное, действительно вполне жизненна. Не 100%, конечно, но и не не исчезающе малые доли процента. Пример — несколько INI-файлов, где изменены значения нескольких ключей, но осталось прежним число символов во всех значениях.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Что такое тестовая структура? Я про жизнь, а не спец. подгон.sa писал(а):А то у меня 100% получилось в тестовой структуре.
Avada
Да, но в таком случае нужно, чтобы и самих дубликатов с этим изменённым ключом было как минимум по 2 для одного и другого одноразмерного файла. Вот такие ситуации насколько часто бывают? У меня никогда не было.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
А как ты вычислил, что это 100% показатель? Может, это как раз тот самый 0,000...1?
Для того, чтобы это узнать, нужно в куче разных структур провести по попытке, и если в каждом случае будет такое соответствие, то твоя взяла. Только, боюсь, она уж точно не твоя. 
И что это за архивы изделий? Можно поподробней?
Кстати, по большому счёту выделение ведь нужно для избирательного подхода. Можно глазами пройтись по списку и там, где выделен первый в группе файл, просто снять выделение.
А как ты вычислил, что это 100% показатель? Может, это как раз тот самый 0,000...1?
И что это за архивы изделий? Можно поподробней?
Кстати, по большому счёту выделение ведь нужно для избирательного подхода. Можно глазами пройтись по списку и там, где выделен первый в группе файл, просто снять выделение.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Это не имеет со 100% случаев ничего общего. Ты пишешь про жизнь, но идёшь в папку, где заведомо ожидаешь получить подобный результат. При этом не хочешь писать, что там у тебя за архивы, и зачем они в таком виде нужны.
Это не имеет со 100% случаев ничего общего. Ты пишешь про жизнь, но идёшь в папку, где заведомо ожидаешь получить подобный результат. При этом не хочешь писать, что там у тебя за архивы, и зачем они в таком виде нужны.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ну вот я, скажем пробую выполнить поиск с дубликатами в подкататоге Plugins в TC. Если по имени, размеру и содержимому — 14 групп, 30 файлов. Если по имени и размеру — 20 групп, 44 файла. Расширения файлов самые разные — SFX, INI, TXT, HTML, CSS, DLL... Так что не очень мало и не очень много, а просто бывает.Flasher писал(а):Вот такие ситуации насколько часто бывают?
Могу привести и совершенно конкретный пример: в последовательных релизах TWinKey у DLL дочерних плагинов и TWinCmd.exe имена и размеры одинаковые, а содержимое разное.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Мы обсуждаем соседние группы дубликатов с файлами одного размера. Т.е. птица "по содержимому" обязательна.Avada писал(а):Если по имени и размеру — 20 групп, 44 файла.
Конкретный пример опять же не показателен. Речь идёт о дубликатах. А если их нет, но есть только одноразмерные файлы, то и в результатах этих файлов не будет.
Ладно, вот вариант по содержимому (но он жутко медленный, а на время залоченности ТС нежизнеспособен, поэтому я и не стал его давать):
Код: Выделить всё
'=============================================================
' Выделить дубликаты кроме первых в группах результатов поиска
' Параметр: %P
'=================== Путь к утилите TCFS2 ====================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'=============================================================
If WScript.Arguments.Count Then WScript.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
R = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
With CreateObject("WScript.Shell")
.Run TCFS2 & " /ef msg($0B,0) tcm(3302) tcm(2018) tcm(3304)",,True
On Error Resume Next
A = .RegRead(R) : If A > 0 Or Err.Number <> 0 Then .RegWrite R, 0, "REG_DWORD"
List = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
For Each F in Split(List, vbNewLine)
If .Run("fc /b """ & F & """ """ & F1 & """", 0, True) = 0 Then S = S & vbNewLine & F
F1 = F
Next : Temp = CreateObject("Shell.Application").NameSpace(._
Environment("Process")("TEMP")).Self.Path & "" & FSO.GetTempName
FSO.CreateTextFile(Temp,,True).Write S
.Run "%comspec% /c clip < """ & Temp & """", 0, True
.Run TCFS2 & " /ef msg($0B,1) tcm(2033)"
.Run "%comspec% /c type|clip ", 0
FSO.DeleteFile Temp, 1 : If A > 0 Then .RegWrite R, A, "REG_DWORD"
End WithАвтору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
А тут ещё пугают тем , что и ненадёжно это:Flasher писал(а):но он жутко медленный
нужно будет к скрипту прикручивать проверку файлов по содержимому (с помощью внешней утилиты командной строки или средствами скриптов, второе будет медленно и еще ненадежно с нетекстовыми файлами).
