Board logo

标题: [文件操作] BAT如何实现批量替换文件名? [打印本页]

作者: vincent0202    时间: 2013-5-29 20:59     标题: BAT如何实现批量替换文件名?

论坛上找到一个类似的代码
  1. @echo off
  2. echo  说明:
  3. echo  使用本bat文件可批量替换本文件所在文件夹下的所有文件名的相同字符
  4. echo  如果输入与扩展名相关字母或符号,可以修改指定文件的文件类型!
  5. echo.&set /p renname3= 请输入被替换文件名字符的文件扩展名:
  6. echo.&set /p renname1= 请输入被替换的文件名字符(可替换空格):
  7. echo.&set /p renname2= 请输入替换后的文件名字符(删除则直接回车):
  8. setlocal enabledelayedexpansion
  9. for /f "delims=" %%a in ('dir /a /b *.%renname3%') do (
  10. set hcy=%%a
  11. ren "%%~a" "!hcy:%renname1%=%renname2%!")
  12. echo.&echo.&echo.&echo.&echo  替换成功
  13. pause
复制代码
但这个代码有不好的地方,每次运行需要输入条件,太麻烦了

我的是条件是固定的,所以不需要这么麻烦
原文件名
24-616640.jpg.jpg
26-607140.jpg.jpg
27-117340.jpg.jpg
28-217440.jpg.jpg

改成
24-616640.jpg
26-607140.jpg
27-117340.jpg
28-217440.jpg

就是把.jpg.jpg改成.jpg
作者: BAT-VBS    时间: 2013-5-29 21:12

  1. @echo off
  2. for %%i in (*.jpg.jpg) do (
  3.     ren "%%i" "%%~ni"
  4. )
复制代码

作者: vincent0202    时间: 2013-5-29 21:48

非常感谢,代码完全OK
作者: terse    时间: 2013-5-29 22:15

固定  批量的话  试试?
  1. ren *.jpg.jpg *.
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2