我每天要处理很多文件,都在子文件夹里,都是这种形式:
美好的春天_01.jpg
残酷的冬天_02.jpg
炎热的夏天_03.jpg
清爽的秋天_04.jpg
我需要把名字修改成:
美好的春天.jpg
残酷的冬天.jpg
炎热的夏天.jpg
清爽的秋天.jpg
请问大神,怎么样通过bat代码来实现呢?让本文件夹,以及下面各级的子文件夹里内容,都批量修改好。
1、在待修改的jpg所在的文件夹内新建一个TXT文本
2、打开这个txt文本,输入下面的文字
@echo off
::Deep Lee
setlocal enabledelayedexpansion
for %%f in (*.jpg) do (
echo %%f
set name=%%f
ren !name! !name:~0,-7%!.jpg
)
Pause
注意:7是怎么来的,比如你要删除的内容_01共有3位,删除的时候会把后面的内容(即_02.jpg)全部删掉,所以加起来要删除的是7位。
3、保存,将文本文档的后缀名“.txt”改成“.bat”
4、双击bat文件,按任意键一下,完成。
5、注意:此文件夹内的所有jpg文件都会删除后面3位!如果不是jpg格式换成其他,则需要多修改两处格式“.jpg”,“.mp3”,“.pptx”,“.docx”等等,注意总的位数也要变!此方法是按照删除同样位数的字符数实现的!
6、此方法只适用于本文件夹,子文件夹不能联动。笨办法可以将此bat文件复制进子文件夹,运行。
大神,代码已经能正确识别出文件了,但是按过回车以后,文件名并没有把最后的_01给去掉,是我还要再做什么参数设置吗?
追答按运行后窗口标题栏中的提示联系我
本回答被网友采纳