[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 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

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

TOP

非常感谢,代码完全OK

TOP

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

TOP

返回列表