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 

Single Post  Topic: Выделение дубликатов 
Author Message
Flasher



PostPosted: Wed Feb 25, 2015 16:02    Post subject: Reply with quote

Avada wrote:
Если по имени и размеру — 20 групп, 44 файла.
Мы обсуждаем соседние группы дубликатов с файлами одного размера. Т.е. птица "по содержимому" обязательна.
Конкретный пример опять же не показателен. Речь идёт о дубликатах. А если их нет, но есть только одноразмерные файлы, то и в результатах этих файлов не будет.

Ладно, вот вариант по содержимому (но он жутко медленный, а на время залоченности ТС нежизнеспособен, поэтому я и не стал его давать):
Code:
'=============================================================
' Выделить дубликаты кроме первых в группах результатов поиска
' Параметр: %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) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group