FailStyle Ответов: 0

Переименование файла на основе самого большого файла, найденного в том же каталоге


У меня есть коллекция фильмов, настроенная на моем 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, но это, похоже, ничего не меняет.

0 Ответов