批量将文件名更名为其上一级目录名  重命名 批量 第1张

一、要解决的问题

如上图,有一批以故事名命名的的文件夹,每个文件夹里面存放了一些不同拓展名的文件,现在需要将每个文件夹下所有文件的文件名,修改为其上级目录的名字。例如,文件夹的名字是《等明天》,文件夹里面的文件分别是:DMT.docx、DMT.mp3、DMT.xlsx,需要批量修改为:《等明天》.docx、《等明天》.mp3、《等明天》.xlsx,如下图。其他文件夹修改同理。

批量将文件名更名为其上一级目录名  重命名 批量 第2张

二、解决方法

怎么实现呢?下载文末的bat批处理小工具,双击打开。然后把包含需要处理的文件的 [总文件夹] 拖动到bat窗口中,回车确定,如下图:

批量将文件名更名为其上一级目录名  重命名 批量 第3张

会显示执行效果,如下图,输入大写字母Y回车,则开始执行重命名;

批量将文件名更名为其上一级目录名  重命名 批量 第4张

处理完成后效果如下图,所有文件都更名为其上级目录名。

批量将文件名更名为其上一级目录名  重命名 批量 第5张

三、注意事项

1、当文件夹内有多个文件,且扩展名相同时,则会发生文件名冲突错误,会导致从当前文件夹内从第二文件起之后的文件都不更名。请自行编辑文件过滤信息,以保证每个文件夹下被更名文件都是唯一的。

批量将文件名更名为其上一级目录名  重命名 批量 第6张

2,当文件名中含有特殊字符时。如! 或 & 符号等会导致更名失败,可以先执行以下命令,把所有文件的文件名都更名为任意字符,然后再批量修改即可。

for /f "delims=" %i in ('dir /s /b /a:-d 【要处理文件的目录】\*.*') do @ren "%i" "a%~xi"

批量将文件名更名为其上一级目录名  重命名 批量 第7张