'========================================== VBS =========================================
' Добавление/замена сверху содержимого AVS-скрипта команд(ы) фильтра с путём к видеофайлу
' Параметры: "<путь к avs>" "<путь к видео>" <команда фильтра>
' Пример: %V %T%M AviSource
'========================================================================================
With WSH.Arguments
If .Count <> 3 Then MsgBox "Укажите 3 параметра!", 4144, " Правка (создание) AVS" : WSH.Quit
AVS = .Item(0) : Video = .Item(1) : Pref = .Item(2)
End With : Str = Pref & "(""" & Video & """)"
Exs = "|asf|avi|divx|flv|mkv|mov|mp4|mpg|ts|"
With CreateObject("Scripting.FileSystemObject")
If .FileExists(Video) And InStr(Exs, "|" & LCase(.GetExtensionName(Video) & "|")) Then
If .FileExists(AVS) And LCase(.GetExtensionName(AVS)) = "avs" Then
If .GetFile(AVS).Size <> 0 Then
With .OpenTextFile(AVS)
For i = 1 to 3
Execute "Str" & i & " = .ReadLine" : If .AtEndOfStream Then Exit For
Next : If Not .AtEndOfStream Then All = .ReadAll End If : .Close
End With
With New Regexp
.IgnoreCase = True : .Pattern = "\w+Source\(.+\)" : L = vbNewLine
If .Test(Str1) Then
If Not .Test(Str2) Then Str = Str & L & Str2
.Pattern = "^AudioDub *\( *V, *A\)$"
If Not .Test(Str3) Then Str = Str & L & Str3
End If
End With : If Not IsEmpty(All) And InStr(All, L) <> 1 Then All = L & All
End If : .OpenTextFile(AVS, 2).Write Str & All
Else nAVS = .GetParentFolderName(AVS) & "\" & .GetBaseName(Video) & ".avs"
If Not .FileExists(nAVS) Then .CreateTextFile(nAVS).Write Str
End If
End If
End With |