0

我想根据剧集和它们来自的系列重命名我的电视节目。我的电视节目通常采用“[节目名称].SabEyz.blabla.mp4”格式,例如 Futurama.S07E01.HDTVx264.mp4 我想将它们重命名为“剧集 xy - [节目名称] - 系列 ab” .mp4'

我尝试使用以下内容:

    for %%a in (*S07E??*.mp4) do ren '%%a' 'Episode ?? - Futurama - Series 7.mp4'

但是它给了我一个错误,即找不到指定的文件

如您所见,上述脚本通常不能用于同一节目的所有系列。我也想为此做点什么。谢谢!

4

2 回答 2

2
@echo off
setlocal EnableDelayedExpansion

for /F "tokens=1,2* delims=." %%a in ('dir /B *.mp4') do (
   set sXXeYY=%%b
   ren "%%a.%%b.%%c" "Episode !sXXeYY:~4,2! - %%a - Series !sXXeYY:~1,2!.mp4"
)
于 2013-06-25T15:05:35.320 回答
0
@ECHO OFF
SETLOCAL enabledelayedexpansion
FOR /f "tokens=1-3delims=." %%i IN ('dir /b/a-d *.*.*.mp4') DO (
 SET seriesep=%%j
 SET /a series=1!seriesep:~1,2! - 100
 SET /a episode=1!seriesep:~-2! - 100
 ECHO REN "%%i.%%j.%%k.mp4" "Episode !episode! - %%i - Series !series!.mp4"
)
GOTO :EOF

这应该按照指定的方式进行重命名 - 好吧,它将ECHO重命名命令到屏幕 - 删除ECHO关键字以激活重命名。

不确定是否要保留或抑制前导0s。如果您想保留它们,请更改(例如)

 SET /a series=1!seriesep:~1,2! - 100

 SET series=!seriesep:~1,2!

或者

代替排队。!seriesep:~1,2!_!series![echo] REN

于 2013-06-25T15:01:14.237 回答