问题描述: 业务中遇到需要批量修改大量图片的名字。
如下图,需要修改为图片名字“u=”之后和“,”之前的那一串
解决思路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后如下图:
解决思路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