'========================== VBS ===========================
' Переименование базовых имён выбранных субтитров в базовые
' имена одиночных видеофайлов и расширение .eng по счётчику
' Условие: путь запуска — пустой
' Параметры: %WL <маска расширений видео>
' Пример: %WL *.avi;*.mkv;*.mp4
'==========================================================
Option Explicit
Dim Items, List, BN, F, Ext, i, FN
If WSH.Arguments.Count = 0 Then WSH.Quit
With CreateObject("Scripting.FileSystemObject")
Set Items = CreateObject("Shell.Application")._
NameSpace(.GetAbsolutePathName("")).Items
Items.Filter 8256, WSH.Arguments(1)
If Items.Count <> 1 Then WSH.Quit
Set List = .OpenTextFile(WSH.Arguments(0),,,-1)
BN = .GetBaseName(Items.Item(0).Path)
Set Items = Nothing
Do: F = List.ReadLine
If Right(F, 1) <> "\" Then
Ext = .GetExtensionName(F)
If InStr(" srt sub ass ssa ", " " & LCase(Ext) & " ") Then
If Right(LCase(F), 8) <> ".rus." & LCase(Ext) Then
FN = BN & ".eng." & Ext : i = 0
While (.FileExists(FN) OR .FolderExists(FN))
i = i + 1 : FN = BN & " " & i & ".eng." & Ext
Wend : .GetFile(F).Name = FN
End If
End If
End If
Loop Until List.AtEndOfStream
End With
List.Close : Set List = Nothing |