2013-06-25 45 views
0

我想根據劇集和他們的劇集重新命名我的電視劇。我的電視節目一般採用'[顯示名稱] .SabEyz.blabla.mp4'格式,例如Futurama.S07E01.HDTVx264.mp4' 我想用這種格式重命名'Episode xy - [Show name] - Series ab.mp4'使用批量重命名電視節目劇集

我嘗試使用以下內容:

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

但它給我指定的文件未找到

正如你可以看到上面的腳本錯誤不能被一般的使用同一場演出的所有系列。我也想對此做些事情。謝謝!

+2

首先,你應該換成真正的引號'「%%〜a」'而不是''%% a''。 ''''不能像你試過的那樣使用。你需要更多的批處理邏輯 – jeb

+1

嘗試[高級更名](http://www.advancedrenamer.com/),視頻文件的最佳重命名! :T – Endoro

回答

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 rename命令屏幕 - 刪除ECHO關鍵字來激活重命名。

不確定是否要保留或抑制領先的0 s。如果你想留住他們,改變(例如)

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

SET series=!seriesep:~1,2! 

OR

替代!seriesep:~1,2![echo] REN!series!

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" 
) 
+0

你能擴展你的答案嗎? –