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

时间:2024-03-06 13:37:57

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

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

解决思路1:

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

 1 @echo off
 2 SetLocal EnableDelayedExpansion
 3 
 4 REM 要查找的文件
 5 set ext=*.jpg
 6 
 7 REM 新文件名在原文件名中的起始位置,从0开始
 8 set pstart=2
 9 
10 REM 新文件名在原文件名中的长度
11 set length=10
12 
13 REM 遍历文件,并截取编号作为新文件名
14 for /r %%a in (!ext!) do (
15 
16 REM 文件名
17 set fn=%%~na
18 
19 REM 后缀
20 set en=%%~xa
21 
22 set x=%%a
23 
24 set y=!ext!
25 
26 REM 取 pstart 位置之后的所有字符 !fn:~%pstart%!!en!
27 REM 取文件名最后 length 长度字符 !fn:~-%length%!!en!
28 REM 取文件名 pstart 开始的 length 长度字符 !fn:~%pstart%,%length%!!en!
29 
30 REM 显示新文件名
31 echo !fn:~%pstart%,%length%!!en!
32 echo x y
33 REM 修改文件名
34 rename "%%a" "!fn:~%pstart%,%length%!!en!"
35 )
36 
37 pause
View Code

 运行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