批处理学习笔记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% 替换字符串
>>回到学习笔记目录