批处理学习笔记10 - 批量修改文件名

ren                    改名        用法:ren 旧文件名 新文件名

~n                  扩展符,取文件名        用法: %%~ni  i是for循环变量

~x                  扩展符,取后缀名     用法: %%~xi  i是for循环变量

:~                  截取字符串操作      用法: str~:10,-1  取字符串第十个到最后一个字符

setlocal EnableDelayedExpansion   开启延时扩展变量       开启之后,可以进行正常的变量加减操作 

-----------------------------------------------------------------

如果想快速改名直接用

ren *.txt *.dll

就可以快速改后缀之类

 

经常下载文件是这样的格式 [xxx出品]xx教程系列.avi

或者别的前缀,看得非常恼人。这次就用批处理把这些前缀去掉

@echo off
setlocal EnableDelayedExpansion

set nm=

for %%i in (*.avi) do (

set nm=%%~ni

set ext=%%~xi

ren %%i !nm:~22,-1!!ext!

)
pause

首先开启了延时扩展变量功能。这时候变量就可以正常加减赋值了

然后遍历当前目录内的.avi文件

通过ren命令,改名。

因为使用了延时扩展(第二行),使用延时变量时需要!!隔开 

字符串截取,第一个参数是索引,第二个参数是数量

 

 

另外一种,替换字符串

@echo off
setlocal EnableDelayedExpansion

set nm=

for %%i in (*) do (

set nm=%%~ni

set ext=%%~xi

ren %%i !nm:xx=a!!ext!

)
pause

 

 

字符串处理:

 

%var:0=kkk%  替换字符串

 

 

 

>>回到学习笔记目录 

posted @ 2013-07-06 08:49  HONT  阅读(720)  评论(0编辑  收藏  举报