求一个批量改名的批处理文件

来源:百度知道 编辑:UC知道 时间:2024/06/03 14:09:32
某文件夹下有很多个以数字命名的子文件夹,每个子文件夹中都有一个文件,比如aabb-exe.exe,比如dfeg-rar.rar,比如fjfkg.feg-zip.zip,我现在想用一个批处理把他们的-exe,-rar,-zip去掉,变成aabb.exe,dfeg.rar,fjfkg.feg.zip这种形式,请问批处理文件要怎么写?

注意:推荐软件的,不明白瞎写混分的,灌水的请退散,本帖不欢迎您!!!

@echo off
for /f "tokens=1,2 delims=-" %%i in ('dir /s/b/a-d') do (
if not "%%j"=="" (
ren "%%i-%%j" %%~ni%%~xi%%~xj
))
echo 重命名完毕,按任意键退出!
pause>nul

把以上保存为批处理放在你所说的某文件夹下就可以了,呵呵!~

@echo off
title by:biatxue
setlocal enabledelayedexpansion
color 0a
:start
echo.
echo.
set /p file= 请输入需重命名的文件夹根目录路径(如d:\file):
cls
echo.
echo.
if not exist %file% echo 文件夹路径设置错误,请重新输入 && goto start
for /f "tokens=*" %%i in ('dir /s /a-d /b %file%') do call :loop "%%i" "%%~ni" %%~xi
:loop
set m=%1
if not defined m goto end
set a=%1
set b=%2
set c=%3
set d=%c:.=%
set e=!b:-%d%=!
set f=%e:"=%%c%
ren %a% "%f%"
goto :eof
:end
title 程序运行结束
echo 程序运行结束,按任意键退出... & pause>nul
exit
::本人测试过可行