如何批量删除文件名最后几位字符

例如:abgd(D8).jpgfggag(D8).jpg把(D8)去掉,变成abgd.jpgfggag.jpg... 例如:abgd(D8).jpg fggag(D8).jpg 把(D8)去掉,变成abgd.jpg fggag.jpg 展开
 我来答
宋超7392
2022-09-16 · TA获得超过106个赞
知道答主
回答量:50
采纳率:0%
帮助的人:1.9万
展开全部

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,-8%!.jpg

)

Pause

 

注意:8是怎么来的,比如你要删除的内容(D8)共有4位,删除的时候会把后面的内容(即(D8).jpg)全部删掉,所以加起来要删除的是8位。

3、保存,将文本文档的后缀名“.txt”改成“.bat”

4、双击bat文件,按任意键一下,完成。

5、注意:此文件夹内的所有jpg文件都会删除后面4位!都会删除(D8)。如果不是jpg格式换成其他,则需要多修改两处格式“.jpg”,“.mp3”,“.pptx”,“.docx”等等,注意总的位数也要变!此方法是按照删除同样位数的字符数实现的!

6、此方法只适用于本文件夹,子文件夹不能联动。笨办法可以将此bat文件复制进子文件夹,运行。

刘老师法律在线
高能答主

2017-11-24 · 为各位题主提供贴心的法律援助
刘老师法律在线
采纳数:7700 获赞数:90251

向TA提问 私信TA
展开全部
批处理代码如下:
@echo off
set /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):
set /p str2= 请输入替换后的文件(文件夹)名字符串(去除则直接回车):
echo.
echo 正在修改文件(夹)名中,请稍候……
for /f "delims=" %%a in ('dir /s /b ^|sort /+65535') do (
if "%%~n
if "%%~nxa" neq "%~nx0" (
set "file=%%a"
set "name=%%~na"
set "extension=%%~xa"
call set "name=%%name:%str1%=%str2%%%"
setlocal enabledelayedexpansion
ren "!file!" "!name!!extension!" 2>nul
endlocal
)
)
exit
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式