工作中常常遇到对大量文件重命名的情况。有事需要给文件加上变化,有事需要给文件加上人名或日期。文件少一些,可以用快捷键F2手动改一下。文件多的话,就比较费时费力了。网上有一些重命名的软件,也都是挂买了各式各样的捆绑,安装完,桌面上挂满了各式各样的游戏广告。今天小编带大家用电脑上常用的EXCEL(或者WPS,需要安装VBA 7.0 for WPS )对批量文件重命名。
先看下效果:
VBA代码:
Sub 删除文件名中的特定字符()
‘删除文件命中的<死亡次数>四个字
Set fso = CreateObject("scripting.filesystemobject") '设置FSO对象
Set ff = fso.getfolder("D:\今日头条\测试\") ' 获取文件夹对象
For Each file In ff.Files ' 遍历文件夹内所有文件
file.Name = Replace(file.Name, "死亡次数", "")
Next
End Sub
在特定位置添加特定字符串
在文件开始位置
Sub 添加文件名中的特定字符()
Set fso = CreateObject("scripting.filesystemobject") '设置FSO对象
Set ff = fso.getfolder("D:\今日头条\20180516\测试") ' 获取文件夹对象
For Each file In ff.Files ' 遍历文件夹内所有文件
file.Name = "王者荣耀" file.Name
Next
End Sub
在文件末尾位置
Sub 添加文件名中的特定字符1()
Set fso = CreateObject("scripting.filesystemobject") '设置FSO对象
Set ff = fso.getfolder("D:\今日头条\20180516\测试") ' 获取文件夹对象
For Each file In ff.Files ' 遍历文件夹内所有文件
exc = fso.getextensionname(f) '获取文件扩展名
file.Name = Replace(file.Name, "." exc, "程咬金制作" "." exc)
' 用替换操作在末尾加字符串
Next
End Sub
在文件名中插入特定字符。
Sub 添加文件名中的特定字符2()
Set fso = CreateObject("scripting.filesystemobject") '设置FSO对象
Set ff = fso.getfolder("D:\今日头条\20180516\测试") ' 获取文件夹对象
For Each file In ff.Files ' 遍历文件夹内所有文件
file.Name = Left(file.Name, 18) "----" Right(file.Name, (Len(file.Name) - 18))
Next
End Sub
替换文件命中的特定字符串
Sub 替换文件名中的特定字符()
Set fso = CreateObject("scripting.filesystemobject") '设置FSO对象
Set ff = fso.getfolder("D:\今日头条\20180516\测试") ' 获取文件夹对象
For Each file In ff.Files ' 遍历文件夹内所有文件
file.Name = Replace(file.Name, "鲁班", "狄仁杰")
Next
End Sub
文件夹修改,和文件名修改一样只需要将
For Each file In ff.Files ' 遍历文件夹内所有文件
file.Name = Replace(file.Name, "鲁班", "狄仁杰")
Next
改为:
For Each file In ff.SubFolders' 遍历文件夹内所有文件夹
file.Name = Replace(file.Name, "鲁班", "狄仁杰")
Next
Sub 添加文件夹名中的特定字符()
'在文件夹名称前加<王者荣耀>
Set fso = CreateObject("scripting.filesystemobject") '设置FSO对象
Set ff = fso.getfolder("D:\今日头条\20180516\测试2") ' 获取文件夹对象
For Each file In ff.SubFolders ' 遍历文件夹内所有文件
file.Name = "王者荣耀" file.Name
Next
End Sub
知识点汇总
FSO文件操作使用方法,不会用的话,可直接复制代码。改下文件夹路径就可以了。
文中所用的的重命名方式基本上都是使用的 字符串操作。
总结:上面的代码都是可以直接拿来用的,只需要修改下“文件夹路径”和替换的文字就可以了。用多了就会使用VBA处理文件了(用进废退)。如果修改的文件名要求较高,则需要添加IF判断语句或其他逻辑语法,来达到更高的要求。
” “,代表字符连接, "王者荣耀" file.Name,就代表在前面加 "王者荣耀" 四个字。
Replace:和EXCEL表格中的替换(Ctrl)操作类似。Replace(原始字符串,"被替换的串",“替换的字符串”)。删除就是将特定字符串替换为“”。
Left、Right、Mid 这三个是左、右、中截取字符串。结合Len,获取字符长度,能够截取到任何位置的字符串。这四个EXCEL公式中有类似的用法,同学们百度一下,或者直接使用下EXCEL的公式就知道怎么用了。
大家觉得还不错的话,还请关注、转发、收藏。本期VBA文件源码,加关注,回复“重命名”即可获得。,