此文章仅记录博主遇到的问题想到的解决方案,并不代表最优解。
问题背景:
在工作中遇到要批量修改文件名,并且文件名具有一定命名格式,如:要将abc_name_20230223.txt 修改为 name.txt ,name的长度一致。这种情况下需要将文件名批量提取,裁剪再重命名。如何操作更加方便呢?
方法(Excel函数+ BAT脚本):
一、打开文件所在路径,在路径栏写入CMD,然后回车
这将在此路径下打开命令行窗口。
二、在命令行窗口中输入命令:dir /b>1.xls
此命令的作用是将当前路径下的所有文件名写入到1.xls文件当中。
生成的1.xls文件内容如下图:
三、使用MID函数裁剪出需要保留的文件名
在B2中输入:=MID(A2,5,4)
意思是在B2栏生成由A2栏中字符串第5位开始的后4个字母。使用者可以根据具体情况修改所选字符串起始位置,以及长度。
MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
语法
MID(text,start_num,num_chars)
Text 是包含要提取字符的文本字符串。
Start_num 是文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,以此类推。
Num_chars 指定希望 MID 从文本中返回字符的个数。说明
■ 如果 start_num 大于文本长度,则 MID 返回空文本 ()。
■ 如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。
■ 如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。
■ 如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。
将公式下拉应用到B列,注意:B7因name的长度不一致,裁剪出的字符串不正确。
四、使用CONCAT、CONCATENATE函数或者&添加文件后缀
在C2中输入:=CONCAT(B2,".txt")
或 =CONCATENATE(B2,".txt")
或 =B2&".txt"
CONCAT将多个区域和/或字符串的文本组合起来。
语法CONCAT(text1…)
text1 … 为 1 到 255个要联接的文本项。这些文本项可以是文本字符串或字符串数组,如单元格区域。
说明
如果结果字符串超过 32767 个字符(单元格限制),则 CONCAT 返回 #VALUE! 错误。
CONCATENATE 将几个文本字符串合并为一个文本字符串。
语法
CONCATENATE (text1,text2,...)
Text1, text2, ... 为 1 到 30 个将要合并成单个文本项的文本项。这些文本项可以为文本字符串、数字或对单个单元格的引用。
说明
也可以用 &(和号)运算符代替函数 CONCATENATE 实现文本项的合并。
五、合成更改文件名指令
在D2中输入: ="ren "&A2&" "&C2
目的是在D2栏生成 "ren <旧文件名> <新文件名>"格式的命令语句。
The REN (rename) command allows you to change the names of files on disk. The file satisfying ufn2 is changed to ufn1.
REN是RENAME的缩写,如果需要给文件重命名,可使用RENAME命令。
语法:
1
2
RENAME <旧文件名> <新文件名>
REN <旧文件名> <新文件名>
参数:<旧文件名>请参数指定要更名的文件。
<新文件名>请参数指定更名后的文件。
说明:REN命令把由<旧文件名>指定的磁盘文件改变为<新文件名>所指定的名称。改名后原文件名消失,新文件名列于磁盘目录中,原文件内容不变。
<旧文件名>如特指一个文件,则必须是磁盘上已存在的文件:<新文件名>必须在该磁盘上不存在,否则文件名就无法更改,且有错误信息返回。<旧文件名>如用通配符,则<新文件名>的相应部分也要用通配符。
六、制作BAT脚本
在当前文件路径下,新建文本文件,将1.xls文件中D列生成的命令复制粘贴到其中,并另存为后缀为.bat的处理文件,如1.bat。
七、双击BAT脚本,将自动批量修改文件名
八、总结
此方法用到Excel函数中的CONCAT、CONCATENATE 命令,以及BAT脚本中REN(RENAME)命令。文章来源:https://www.toymoban.com/news/detail-717822.html
个人思考是否可以在批处理中配合正则匹配,将文件名逐个修改。知识储备不足,待学习。文章来源地址https://www.toymoban.com/news/detail-717822.html
到了这里,关于如何批量修改文件名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!