如何批次重命名劇集

如何批次重命名劇集

我有數千集想要重命名,它們都是類似的格式。

如果我必須手動完成,這將花費很長時間。

因此,我需要一種簡單的方法來批量重命名以下範例:

[來源]劇集名稱_-_001_劇集名稱_[480p][DVD][上傳者]

[來源]劇集名稱_-_010_劇集名稱_[720p][BD][上傳者]

[來源]劇集名稱_-_100_劇集名稱_[1080p][BD][上傳者]

只是:

系列名稱 第 1 集 - EpisodeName

系列名稱 第 10 集 - EpisodeName

系列名稱 第 100 集 - EpisodeName

我怎樣才能實現這個目標?

答案1

出於排序原因,我會保留恆定的劇集編號長度。

延伸部分怎麼樣(我的一個襯墊保留了它們)?

在命令列中:

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"

在批次檔中,將所有百分號加倍。

第一個 for 迭代以 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"
)

相關內容