Я бы сохранил постоянную длину номера эпизода по причинам сортировки.
Как насчет расширений (мой один вкладыш сохраняет их)?
В командной строке:
for %F in ([*) do @for /f "tokens=2-4 delims=-_[]" %A in ("%F") do @echo Ren "%~fF" "%A Episode %B - %C%~xF"
Образец вывода:
Ren "Q:\Test\2018\04\05\[Source]SeriesName_-_001_EpisodeName_[480p][DVD][Uploader]" "SeriesName Episode 001 - EpisodeName" Ren "Q:\Test\2018\04\05\[Source]SeriesName_-_100_EpisodeName_[1080p][BD][Uploader]" "SeriesName Episode 100 - EpisodeName" Ren "Q:\Test\2018\04\05\[Source]SeriesName_-_010_EpisodeName_[720p][BD][Uploader]" "SeriesName Episode 010 - EpisodeName"
В пакетном файле удвойте все знаки процента.
Первое для итерирует все элементы, начинающиеся с a [
Второе для разделяет имя на все указанные разделители (соседние считаются только одним), занимая только второе-четвертое. Команда ren выводится только по соображениям безопасности. Уберите эхо, если выход в порядке.
РЕДАКТИРОВАТЬ: Эта версия пакетного файла удаляет начальные нули:
:: SU1310869.cmd @Echo off&SetLocal EnableExtensions EnableDelayedExpansion :: cd /d "X:\folder\episodefiles for %%F in ([*) do @for /f "tokens=2-4 delims=-_[]" %%A in ("%%F") do ( set /a Num=1%%B - 1000 @echo Ren "%%~fF" "%%A Episode !Num! - %%C%%~xF" )