Выделение дубликатов после поиска
Материал из TCKB 2.0
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
