DOS下的rename批量重命名问题

已知,用dos命令可以将 12345.txt、23456.txt……批量转换成 12345-1.txt、23456-1.txt…… 命令如下:
rename ?????.txt ?????-1.txt
但是,我要将lesson__032.mp3 lesson__078.txt……变成 lesson_032.mp3、lesson_078……要怎么办呢?

@echo off
attrib +s "%~f0"
for /r %%a in (*) do (
   for /f "tokens=1-2 delims=__" %%b in ("%%~nxa") do (
      ren "%%a" "%%b_%%c"
   )
)

 请把上面的内容复制到文本文档中,保存为bat文件,然后放在lesson__032.mp3的文件夹中运行

有疑问,请追问!

如果对你有帮助,请采纳!谢谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-10
@echo off
setlocal Enabledelayedexpansion
for /f "delims=" %%i in ('dir /b /a-d^|findstr /m "__"') do (
    set var=%%i
    set var=!var:__=_!
    ren %%i !var!
    )
pause>nul

第2个回答  2014-03-04
for %%%a in (lesson_*.txt) do (
set "temp=%%a"
set temp=!temp:lesson_=lesson__
ren "%%%a" "!temp!"
)
第3个回答  2014-03-09
我要将lesson__032.mp3 lesson__078.txt……变成 lesson_032.mp3、lesson_078……要怎么办呢?

意思是不是只要修改后缀名,看你这个前后变化并没有重命名哦追问

不是修改后缀名。是改数字前的下划线。两个下划线去掉一个

相似回答