利用Excel和bat对文件批量重命名

如何快速对批量文件进行重命名?

现在有一个需求,把文件夹中图片添加上前缀,每张图片的名称不同,而且每张图片的前缀也不一样。

想想该怎么做呢?

传统的办法是不是要一张一张的去改?

数量少的时候还可以,如果有很多需要改,那怎么办呢?

可以用下面的方法试试看!

环境

  • Windows 电脑,其它系统没有测试过
  • Excel,或其他类似的表格处理软件,需要支持函数处理数据

操作步骤

获取文件夹中的文件名列表

我这里需要获取桌面上 picture 文件夹中的图片文件名列表,进入到该图片文件夹,在空白处按住键盘 shift 键 + 鼠标右键,选择 在此处打开命令窗口 ;当然也可以直接按 Windows + R 快捷键,运行 cmd 直接打开命令行窗口,然后再进入到需要的目录下;

在命令行窗口中输入命令:

1
dir C:\Users\Administrator\Desktop\picture /b -> list.txt

其中参数含义如下:

含义 备注
dir 查看目录和文件 Windows 命令行指令
C:\Users\Administrator\Desktop\picture 当前存放图片的目录 可以右键单击后选择 “标记” ,选中命令行中的当前目录,按回车键复制过来
/b 不显示标题信息或摘要 dir 命令的参数
-> 将信息输入到文件
list.txt 存放数据的文件 文件名随意,后缀可以是 txt 或者 xls

命令输入完成后,按回车运行命令,将会在文件夹中生成一个 list.txt 文件,里面就是需要的内容了;

注意:我们看到 list.txt 中也包含了自己,在执行命令时可以进行筛选,只选择其中后缀为 jpg 的文件,只需要修改刚才的命令,在要读取的目录后面添加 \*.jpg ,这样获得的数据就只要 jpg 格式的图片了,当文件夹中有其他文件时,添加筛选是非常必要的:

1
dir C:\Users\Administrator\Desktop\picture\*.jpg /b -> list.txt

生成重命名命令

我们把图片名前缀需要的信息导入 Excel 表格中,我这里是直接从数据库中导出来的数据,如下所示:

需要的图片前缀格式为:circuit-pole- ,我们可以用 Excel 来拼接不通单元格内容,并添加需要的分隔符,以此获得图片命名的前缀,在图片名称前缀一栏的第一格中输入函数:

1
=B2&"-"&C2&"-" 

注: B2 为 circuit 栏的单元格,C2 是 pole 栏的单元格,再添加 “-”分隔就是需要的前缀了

将鼠标放到图中所示的填充按钮处,按住鼠标左键向下拖动,直到拖到最后一条数据,这样Excel 就帮我们填充生成了剩余的图片名称前缀;

选中 Excel 中图片文件一栏的第一个单元格,打开上一步在文件夹中生成的 list.txt 文件,将其中的图片文件名全部选中复制,到 Excel 中粘贴,这样我们就获取到了图片名前缀和图片名了;

下一步就要生成重命名图片的命令了!

在“重命名命令” 一栏的第一个单元格中输入函数,同样填充所有需要的行:

1
="ren "&E2&" "&D2&E2

注:ren 是重命名(rename)的命令,第一个参数是原文件名,第二个参数是新文件名,参数中间以空格分隔

这样,我们就获取到了重命名文件的命令了!

执行重命名命令

直接执行命令

进入图片存储目录,打开命令行工具,把上述 Excel 表格中生成的重命名一列的单元格选中并复制,在命令行中右键单击,选择粘贴即可;

此时,再看看文件名,发现已经修改成想要的格式;

创建 bat 批处理文件

在图片目录中创建新的文本文档,命名为 ren.txt ,打开此文档,将上述 Excel 中生成的命令复制,粘贴到此文本文档中,点击菜单栏中 文件 -> 另存为 ,另存时将文件名改为 ren.bat ,下面的编码选择 ANSI ,点击保存,这样就生成了一个批处理文件 ;

在此目录下打开命令行,执行指令 ren.bat,或直接双击这个 .bat 文件,即可运行,运行完成后,查看文件名,发现已经修改成功;

完结

这篇文章讲解了利用 Excel 批量生成 windows 命令行指令,并创建 bat 批处理文件,以此来批量修改文件名。希望这个方法可以为你提供新的思路,来使用 Excel 和 windows 命令,完成更多样的批量操作!