bat批量修改图片的名字实现(两种方法)

时间:2021-07-24 10:08:46

问题描述: 业务中遇到需要批量修改大量图片的名字。

如下图,需要修改为图片名字“u=”之后和“,”之前的那一串

bat批量修改图片的名字实现(两种方法)

解决思路1:

bat批处理,网上查找相关代码如下:

 @echo off
SetLocal EnableDelayedExpansion REM 要查找的文件
set ext=*.jpg REM 新文件名在原文件名中的起始位置,从0开始
set pstart= REM 新文件名在原文件名中的长度
set length= REM 遍历文件,并截取编号作为新文件名
for /r %%a in (!ext!) do ( REM 文件名
set fn=%%~na REM 后缀
set en=%%~xa set x=%%a set y=!ext! REM 取 pstart 位置之后的所有字符 !fn:~%pstart%!!en!
REM 取文件名最后 length 长度字符 !fn:~-%length%!!en!
REM 取文件名 pstart 开始的 length 长度字符 !fn:~%pstart%,%length%!!en! REM 显示新文件名
echo !fn:~%pstart%,%length%!!en!
echo x y
REM 修改文件名
rename "%%a" "!fn:~%pstart%,%length%!!en!"
) pause

运行bat后如下图:

bat批量修改图片的名字实现(两种方法)

解决思路2:引自(https://baijiahao.baidu.com/s?id=1573351430372862&wfr=spider&for=pc)

STEP 1:生成现有照片名称目录

我们先在EXCEL中生成现有的照片名称目录,以便批量修改。

组合键,Win键在Ctrl键和Alt键之间,在文本框中输入"CMD"。

在DOS模式下输入

cd E:\bat\people  【E:\bat\people是存放照片的路径】

然后再输入

Dir /b>1.xls

生成.xlsx格式文档的话里面内容是空的,所以只能用.xls格式。

完成后在员工照片文件夹中,会有一个1.xls的文件,打开它会发现这个文件夹下的所有文件名都在工作表中。

STEP 2:批量修改照片名称

要批量修改照片名称,我们仍需要借助EXCEL。删除第一行,在B列我们要得到新的照片名称,可以借助快速填充。在B1单元格输入"张三.jpg",回车后按组合键快速填充。

在C1单元格输入公式,并向下填充。

="ren "&A1&" "&B1

将C1:C5区域的内容复制到TXT文档中,文档保存在"员工照片"文件夹中,后缀必须为.bat。本例中保存名称为rename.bat