【批处理命令批量更改文件内容】批处理命令批量更改文件名

发布时间:2009-03-20   来源:黑客攻防    点击:   
字号:

【www.quanqiunao.cn--黑客攻防】

最近下了不少动画,不过文件名都太长,一般都是 [字幕组][名称][集数][语言][分辨率][编码].后缀 这样的格式
我喜欢简单的名字,比如 01.rmvb 之类,可是手动改很麻烦,于是就写了这个 bat,希望对大家有帮助

2009-10-16:
      * 修正了更改文件名部分
      + 增加了几个取得名称的方法,在REM注释节

代码如下:

@echo off
SetLocal EnableDelayedExpansion

REM 要查找的文件
set ext=*.rm,*.rmvb,*.avi,*.mkv,*.torrent

REM 新文件名在原文件名中的起始位置,从0开始
set pstart=23

REM 新文件名在原文件名中的长度
set length=2

REM 遍历文件,并截取编号作为新文件名
for %%a in (!ext!) do (

REM 文件名
set fn=%%~na

REM 后缀
set en=%%~xa

REM 取 pstart 位置之后的所有字符 !fn:~%pstart%!!en!
REM 取文件名最后 length 长度字符 !fn:~-%length%!!en!
REM 取文件名 pstart 开始的 length 长度字符 !fn:~%pstart%,%length%!!en!

REM 显示新文件名
echo !fn:~%pstart%,%length%!!en!

REM 修改文件名
rename "%%a" "!fn:~%pstart%,%length%!!en!"
)

pause

新建个 bat,将以上代码复制至其中即可运行,参数可适当修改

本文来源:http://www.quanqiunao.cn/anquanzhongxin/10653/