Como renomear episódios em lote

Como renomear episódios em lote

Tenho milhares de episódios que quero renomear, todos em formato semelhante.

Isso levaria muito tempo se eu tivesse que fazer isso manualmente.

Portanto, precisarei de uma maneira simples de renomear em lote os seguintes exemplos:

[Fonte]SeriesName_-_001_EpisodeName_[480p][DVD][Uploader]

[Fonte]SeriesName_-_010_EpisodeName_[720p][BD][Uploader]

[Fonte]SeriesName_-_100_EpisodeName_[1080p][BD][Uploader]

para apenas:

Nome da série Episódio 1 - Nome do episódio

Nome da série Episódio 10 - Nome do episódio

Nome da série Episódio 100 - Nome do episódio

Como eu seria capaz de conseguir isso?

Responder1

Eu manteria a duração constante do número do episódio por motivos de classificação.

E quanto às extensões (meu liner as preserva)?

Na linha de comando:

for %F in ([*) do @for /f "tokens=2-4 delims=-_[]" %A in ("%F") do @echo Ren "%~fF" "%A Episode %B - %C%~xF"

Exemplo de saída:

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"

Em um arquivo em lote, dobre todos os sinais de porcentagem.

O primeiro for itera todos os itens começando com a. [
O segundo for divide o nome em todos os delimitadores especificados (os adjacentes contam como apenas um), levando apenas do segundo ao quarto. O comando ren é repetido apenas por motivos de segurança. Remova o eco se a saída estiver OK.

EDITAR:Esta versão do arquivo em lote remove zeros à esquerda:

:: 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"
)

informação relacionada