求一个批量去除文件名尾部下划线及数字的批处理~~
在一个文件夹下有好多文件,命名如"文件1_6.html""文件_32.html""3_322.html"……前面的没什么规律,可能有中文也可能有数字,但结尾都是一个下划线...
在一个文件夹下有好多文件,命名如
"文件1_6.html"
"文件_32.html"
"3_322.html"
……
前面的没什么规律,可能有中文也可能有数字,但结尾都是一个下划线“_”+数字组成的(结尾的数字位数不等,可能是一位数、两位数、或者是多位数),想求一个批处理命令,把文件名中的"_"及后面的数字去掉
变成
"文件1.html"
"文件.html"
"3.html"……
这样的,最好是放在本文件夹下,直接双击就能批量重命名的,非常感谢~~~ 展开
"文件1_6.html"
"文件_32.html"
"3_322.html"
……
前面的没什么规律,可能有中文也可能有数字,但结尾都是一个下划线“_”+数字组成的(结尾的数字位数不等,可能是一位数、两位数、或者是多位数),想求一个批处理命令,把文件名中的"_"及后面的数字去掉
变成
"文件1.html"
"文件.html"
"3.html"……
这样的,最好是放在本文件夹下,直接双击就能批量重命名的,非常感谢~~~ 展开
2个回答
展开全部
@echo off
for /f "tokens=1,2,3 delims=_." %%i in ('dir /a-d/b') do (
if not "%%k"=="" (
if exist "%%i.%%k" call :gm "%%i_%%j.%%k" "%%i.%%k"
if exist "%%i_%%j.%%k" ren "%%i_%%j.%%k" "%%i.%%k"
))
echo 更名完成!&pause>nul &exit
:gm
set n=0
:lp
set/a n+=1
if exist "%~n2(%n%)%~x2" goto lp
ren "%~1" "%~n2(%n%)%~x2"
goto :eof
for /f "tokens=1,2,3 delims=_." %%i in ('dir /a-d/b') do (
if not "%%k"=="" (
if exist "%%i.%%k" call :gm "%%i_%%j.%%k" "%%i.%%k"
if exist "%%i_%%j.%%k" ren "%%i_%%j.%%k" "%%i.%%k"
))
echo 更名完成!&pause>nul &exit
:gm
set n=0
:lp
set/a n+=1
if exist "%~n2(%n%)%~x2" goto lp
ren "%~1" "%~n2(%n%)%~x2"
goto :eof
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询