Переименование файла на основе самого большого файла, найденного в том же каталоге
У меня есть коллекция фильмов, настроенная на моем nas, и я пытаюсь переименовать все мои файлы субтитров в то же имя, что и фильм, расположенный в том же каталоге. Например:
D:\Movies\2 Guns (2013) (Bluray)\ -2 Guns (2013).mkv -English.srt
Я бы хотел, чтобы файл english.srt был переименован в:
2 Guns (2013).srt
Короче говоря, я не могу использовать для этого никакой медиаменеджер. Мне бы очень хотелось, чтобы это был пакетный файл, но я готов использовать powershell или даже стороннюю программу, если это не какой-то медиаменеджер. Мне нужно, чтобы имя было сгенерировано на основе самого большого файла, расположенного в том же каталоге, а не имени папки, поскольку некоторые из них не совпадают с именами файлов. Кроме того,.сто файлы не всегда будут названы по-английски.сто
Заранее спасибо за ваше время/информацию!
Что я уже пробовал:
Честно говоря, я все еще борюсь с изучением powershell и пакетных команд, но смог придумать следующее:
@echo off setlocal enabledelayedexpansion for /F "delims=" %%A in ('dir /b *.mp4 *.avi *.mkv') do ( set basename="%%~nA" ren *.srt !basename!.eng.srt )
Это прекрасно работает, но я не могу понять, как заставить его работать рекурсивно. Я хотел бы запустить это из D:\Movies а не папка за папкой. Я попробовал dir /b /s, но это, похоже, ничего не меняет.