如何批量修改文件名

此文章仅记录博主遇到的问题想到的解决方案,并不代表最优解。

问题背景:

        在工作中遇到要批量修改文件名,并且文件名具有一定命名格式,如:要将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函数中的CONCATCONCATENATE 命令,以及BAT脚本中REN(RENAME命令。

        个人思考是否可以在批处理中配合正则匹配,将文件名逐个修改。知识储备不足,待学习。

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值