这一篇文章主要解决的是批量修改文件名的问题,文件少的时候手动修改确实方便,但是遇到文件多的时候,一个一个改就很费时啦。尤其是当修改后的文件名与修改前的文件名有一定规律的时候,我们可以选择批处理方式解决这个问题:
- 批量将文件夹名改成子文件(即文件夹内文件)的名字
- 批量将当前文件夹中文件名修改为需要的文件名格式
1.批量将文件夹名改成子文件名
原文件夹名如下:想要修改成文件夹下面的.svs文件对应的文件名
(1)创建一个bat文件
右键创建一个记事本txt文件,将后缀名改成bat,如get.bat
内部编辑:
dir/a/s/b>LIST.TXT
将bat文件放在需要修改文件夹名字的路径下,双击运行bat文件,将生成一个名为LIST.TXT的文件,里面包含包括本路径文件名及其子文件名的所有文件名
如图:
(2)
将除当前路径外的所有文件名复制到一个excel
将文件路径按照“\”分隔符分割:选中A列,点击excel菜单栏的数据选项,点击分列
点击下一步,分隔符号选择其他,在空白处输入“\”,点击下一步,点击完成
分隔成功后如图:
点击筛选,取消对应列的全选
对应的这一部分就是原文件夹名及对应的新名字.svs
将这一部分复制到另一个sheet页,需要去掉.svs这个后缀,运用这个公式
=LEFT(B2,LEN(B2)-4)
即可获得没有后缀的名字,接下来运用如下公式拼接旧名称和新名称
="ren “&A2&” "&C2
最后将所有拼接出来的字符串复制到一个新的bat文件中,如rename.bat。双击运行该batch程序,即可将名字批量修改完成。
2.如何获取当前文件夹下指定类型的文件名。
只需要将之前的batch文件的内容修改为:
dir .txt /b> FileList.txt
就可以获得batch文件所在的文件夹下,所有.txt结尾的文件名,并将其放在FlieList.txt中。如果需要获取所有文件名,则将*.txt修改为.*即可:
dir . /b> FileList.txt
然后将需要修改的文件名,放到一个excel内,之后的操作同前一个教程一样。
其中新的名称和Rename的列均是通过字符串拼接得来:
new
=B2&A2
Ren
="ren “&A2&” "&C2
然后将这一列复制到一个新的batch文件内,运行这个batch文件。