问题描述: 业务中遇到需要批量修改大量图片的名字。
如下图,需要修改为图片名字“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
运行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