Выделение дубликатов после поиска
Q: Имеется папка Music, содержащая кучу других папок, с музыкой, соответственно (mp3). Хочу удалить дубликаты. Нахожу, соответственно, через поиск, потом выношу файлы на панель. Дубликаты располагаются парами, тройками и т.д. Ручками выделять долго и нудно (много их). Как можно выделить дубликат(ы) для удаления?
Имеется ввиду что должен остаться только один файл из всех копий.
Имеется ввиду что должен остаться только один файл из всех копий.
A: Предлагается следующий скрипт на TCWSHelper. Создаёте файл *.vbs с указанным кодом, запуск файла вешаете на кнопку. В параметрах кнопки устанавливаете %L.
После выполнения поиска дубликатов нужно нажать "Файлы на панель", затем выделить все файлы. Нажимаете кнопку. Будут выделены все файлы в группе дубликатов, кроме первого.
Внимание:
- Скрипт работает только если при поиске была установлена галочка "Поиск дубликатов по имени".
- Скрипт затирает содержимое буфера обмена.
' File: SelNotFirst.vbs
' Description: Удаляет все парные файлы кроме первого
' из списка, созданного поиском дубликатов в ТС
' Installation: Создайте кнопку на панели TC
' Команда: "диск:\путь\к\файлу\SelNotFirst.vbs"
' Параметры: "%L"
' Copyright: (c) 2006, Volniy
Option Explicit
Dim FSO, ListFile, SelFile,TCS
Dim File1, File2, Cnt, Buf
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TCS = CreateObject("TCScript.Helper")
Set ListFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Do While Not ListFile.AtEndOfStream
SelFile = ListFile.ReadLine
File2 = FSO.GetFileName(SelFile)
If StrComp(File1, File2, 1) = 0 Then
Buf = Buf & SelFile & vbNewLine
Cnt = Cnt + 1
End If
File1 = File2
Loop
ListFile.Close
'TCS.ClearClip
TCS.SetTextToClip CStr(Buf)
TCS.SendCommand "cm_LoadSelectionFromClip", True
Set ListFile = Nothing
Set FSO = Nothing
Set TCS = Nothing
MsgBox "Выделено дубликатов: " & Cnt, vbInformation, "Завершено!"
WScript.Quit
Volniy