求批处理命令bat,批量删除jpg文件的后几位文件名

列如
75_0_75.jpg 变成 75.jpg

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

)

Pause


 

注意:9是怎么来的,比如你要删除的内容_0_75共有5位,删除的时候会把后面的内容(即_0_75.jpg)全部删掉,所以加起来要删除的是9位。(后面代码里已补上.jpg,不用担心)

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-06
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
@echo off
rem 将当前目录里的jpg图片文件名称中的一个指定字符及其后面所有字符删除
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /a-d-h/b "*_*.jpg"') do (
for /f "delims=_" %%b in ("%%~na") do (
echo;"%%a" --^> "%%b%%~xa"
ren "%%a" "%%b%%~xa"
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit本回答被提问者和网友采纳
第2个回答  2021-01-06
批处理命令批量重命名jpg文件(xx_xxxxx.jpg → xx.jpg)的bat命令如下,有6行代码:
cd jpg文件所在目录
FOR /F "eol= tokens=1,* delims=_" %%f IN ('dir *.jpg /b') DO (
FOR /F "eol= tokens=1,* delims=" %%g IN ('dir %%f*.jpg /b') DO (
ren %%g %%f.jpg
)
)本回答被网友采纳
相似回答