Q: Имеется папка Music, содержащая кучу других папок, с музыкой, соответственно (mp3). Хочу удалить дубликаты. Нахожу, соответственно, через поиск, потом выношу файлы на панель. Дубликаты располагаются парами, тройками и т.д. Ручками выделять долго и нудно (много их). Как можно выделить дубликат(ы) для удаления? Имеется ввиду что должен остаться только один файл из всех копий.
A: Предлагается следующий скрипт на TCWSHelper. Создаёте файл *.vbs с указанным кодом, запуск файла вешаете на кнопку. В параметрах кнопки устанавливаете %L. После выполнения поиска дубликатов нужно нажать "Файлы на панель", затем выделить все файлы. Нажимаете кнопку. Будут выделены все файлы в группе дубликатов, кроме первого. Внимание: 1. Скрипт работает только если при поиске была установлена галочка "Поиск дубликатов по имени". 2. Скрипт затирает содержимое буфера обмена. ' 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