Batya

|
Posted: Tue Aug 14, 2007 13:09 Post subject: |
|
|
Идем сюда - Чтение тегов MP3-файлов (ActiveX, написанный на VBScript). Скачиваем mp3tags.wsc по ссылке, регистрируем.
Для переименования используем vbs-скрипт с параметром %L:
Code: | '==========================================================================
' Переименование файлов по mp3-тегам:
' {Исполнитель} - {Название песни}.mp3
' В качестве входного параметра должно быть передано имя файла-списка
' Параметры вызова из TC:
' %L
'==========================================================================
Option Explicit
' Проверяем число аргументов
If WScript.Arguments.Count = 0 Then
MsgBox "Неправильно заданы параметры!", _
vbOKOnly + vbCritical, _
"Переименование файлов по mp3-тегам"
WScript.Quit
End If
Dim FSO, Mp3, List, OTF, File, Result
Set FSO = CreateObject("Scripting.FileSystemObject")
List = WScript.Arguments(0)
If Not FSO.FileExists(List) Then
MsgBox "Неправильно заданы параметры!", _
vbOKOnly + vbCritical, _
"Переименование файлов по mp3-тегам"
Set FSO = Nothing
WScript.Quit
End If
Set Mp3 = CreateObject("Scripting.Mp3TagsReader")
Set OTF = FSO.OpenTextFile(List, 1)
' Читаем файл-список
Do While Not OTF.AtEndOfStream
File = OTF.ReadLine
Result = Mp3.Read(File)
' Если без ошибок, то переименовываем
If Result = 0 Then
' Переименовываем, если теги "Artist" и "Title" не пустые
If (Len(Mp3.Artist) > 0) And (Len(Mp3.Title) > 0) Then
' Игнорируем ошибки переименования (обрабатываем по возможности все)
On Error Resume Next
FSO.GetFile(File).Name = Mp3.Artist & " - " & Mp3.Title & ".mp3"
On Error GoTo 0
End If
End If
Loop
OTF.Close
Set OTF = Nothing
Set Mp3 = Nothing
Set FSO = Nothing
WScript.Quit |
Last edited by Batya on Tue Aug 14, 2007 18:36; edited 1 time in total |
|