Групповое переименование
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 48, 49, 50, 51  Next  :| |:
Total Commander -> Автоматизация Total Commander

#721:  Author: Dimsok PostPosted: Sun Aug 04, 2019 01:40
    —
Правильно могут быть переименованы 2 субтитра - название фильма.rus.srt/sub/ass/ssa, название фильма.eng.srt/sub/ass/ssa. Если они существуют, то ничего не делать.

Не понимаю, что значит вперемешку. Переименовываться ведь по одному файлу за раз будет.

#722:  Author: FlasherLocation: Москва PostPosted: Sun Aug 04, 2019 08:16
    —
Какая разница, за сколько раз?
В папке 5 файлов:
1. Name.sub
2. Name.rus.srt
3. Name.rus.ass
4. Name.eng.ssa
5. Name.mp4

Под курсором первый файл. Следуя твоей логике, eng добавлять нельзя, т.к. остальные имеют только 2 rus вместо 3-х, но и rus нельзя, т.к. уже есть srt с такой добавкой. Вот тебе и гремучая смесь.

#723:  Author: Dimsok PostPosted: Mon Aug 05, 2019 03:02
    —
Я же пишу, что в таком случае ничего не делать (если уже имеются 2 (или 3) и 4).

#724:  Author: FlasherLocation: Москва PostPosted: Mon Aug 05, 2019 13:57
    —
Quote:
Хотя бы один из трёх.
Так это ответ был? Я подумал, что это повторение моих слов (аля цитата). Т.е. я правильно понимаю, что игнорировать в случае, когда есть любая из 6-ти комбинаций eng/rus? "2 (или 3) и 4" — это уже не то же самое, и ты об этом нигде не писал.

#725:  Author: Dimsok PostPosted: Tue Aug 06, 2019 02:11
    —
Quote:
Хотя бы один из трёх.

Я думал, это было достаточно ясно. Ну посуди, зачем мне 2 (и тем более 3) разных типа субтитров для одного языка. Это же не марки или монеты.

#726:  Author: FlasherLocation: Москва PostPosted: Tue Aug 06, 2019 02:20
    —
Ты мне на 2-й вопрос ответишь, ядрён батон? )
Зачем/не зачем — скрипту без разницы. Нужно отшить ложные срабатывания.

#727:  Author: Dimsok PostPosted: Tue Aug 06, 2019 02:38
    —
Если есть любая из 4-х комбинаций rus (srt,sub,ass,ssa), именовать в eng того расширения, которое имеет выделенный файл субтитра. Если и eng имеет уже любую из 4-х комбинаций, то ничего не делать.

#728:  Author: FlasherLocation: Москва PostPosted: Tue Aug 06, 2019 03:52
    —
Тестируй:
Code:
'============================ VBS =============================
' Переименование базового имени субтитра под курсором в базовое
' имя одиночного видеофайла и подходящее языковое расширение

' Параметры: %V <маска расширений видео>
' Пример:    %V *.avi;*.mkv;*.mp4
'==============================================================
Option Explicit: Dim Items, F, BN, Ext, sExt, Exts, E
With CreateObject("Scripting.FileSystemObject")
  F = WSH.Arguments(0)
  If .FileExists(F) Then
    Set Items = CreateObject("Shell.Application")._
    NameSpace(.GetParentFolderName(F)).Items
    Items.Filter 8256, WSH.Arguments(1)
    If Items.Count <> 1 Then WSH.Quit
    BN = .GetBaseName(Items.Item(0).Path)
    Ext = .GetExtensionName(F) : Set Items = Nothing
    If InStr("|srt|sub|ass|ssa|", "|" & LCase(Ext) & "|") Then
    If InStr("|.eng|.rus|", "|" & Right(LCase(BN), 4) & "|") = 0 Then
      sExt = ".rus." : Exts = "srt sub ssa ass"
      For Each E in Split(Exts)
        If .FileExists(BN & sExt & E) Then sExt = ".eng." : Exit For
      Next
      If sExt = ".eng." Then
        For Each E in Split(Exts)
          If .FileExists(BN & sExt & E) Then WSH.Quit
        Next
      End If
      .GetFile(F).Name = BN & sExt & Ext
    End If
    End If
  End If
End With


Last edited by Flasher on Tue Aug 06, 2019 04:54; edited 6 times in total

#729:  Author: Dimsok PostPosted: Tue Aug 06, 2019 04:01
    —
Строка 22
Символ 76
Предполагается наличие ')'

#730:  Author: FlasherLocation: Москва PostPosted: Tue Aug 06, 2019 04:07
    —
Исправил.

#731:  Author: Dimsok PostPosted: Tue Aug 06, 2019 04:16
    —
Имя субтитра не меняется, только добавляется языковая метка.
11.srt в 11.rus.srt, хотя имя видео другое совсем.

#732:  Author: FlasherLocation: Москва PostPosted: Tue Aug 06, 2019 04:24
    —
Мда. Не заглянул в первый код. См. сейчас.

#733:  Author: Dimsok PostPosted: Tue Aug 06, 2019 04:29
    —
Работает как и в первом варианте. При наличии файл.avi и файл.rus.srt выделенному субтитру sub даётся тот же язык - файл.rus.sub (а надо eng).

#734:  Author: FlasherLocation: Москва PostPosted: Tue Aug 06, 2019 04:41
    —
Обновил.

#735:  Author: Dimsok PostPosted: Tue Aug 06, 2019 04:49
    —
На том же примере, если файл.rus.sub srt, то:
Строка 30
Символ 8
Файл уже существует.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 48, 49, 50, 51  Next  :| |:
Page 49 of 51

Powered by phpBB © 2001, 2005 phpBB Group