Board logo

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

作者: aabout2008    时间: 前天 09:58     标题: 批处理如何批量替换文件名?

比如当前文件夹下有无数张照片:

a1.1.jpg
a1.2.jpg
a1.3.jpg
a1.4.jpg
a1.5.jpg
a1.6.jpg
……
a1.999.jpg

我要将文件名中的a替换成b
b1.1.jpg
b1.2.jpg
b1.3.jpg
b1.4.jpg
b1.5.jpg
b1.6.jpg
……
b1.999.jpg

要实现的效果是:在当前文件夹下,点击后就将原来所有的文件改名,且不论文件夹下是什么格式的文件,不局限于当前示例的jpg。
思路就是在bat,可以设置一个字符  替换成另一个字符,后期可以按需修改。

批处理获取路径就是当前文件夹目录,不要使用绝对路径。

批处理改名要排除批处理本身,如果目录下这个执行的批处理是a1.1.bat  不会修改成b1.1.bat
作者: aabout2008    时间: 前天 10:02

  1. @echo off
  2. set folder_path=%~dp0
  3. set output_file=%~dp0\Output.txt
  4. dir /b "%folder_path%\*" > "%output_file%"
  5. pause
复制代码
我在网上找到的只能实现这种功能。
这个获取当前目录下的文件名,如何排除Output.txt  和批处理本身呢?
作者: 77七    时间: 前天 12:50

  1. @echo off
  2. rem 保存为ansi编码
  3. cd /d "%~dp0"
  4. set "oldstr=a"
  5. set "newstr=b"
  6. for /f "delims=" %%i in ('dir /b /a-d') do (
  7. if "%%i" neq "%~nx0" (
  8. set n=%%~ni
  9. if defined n (
  10. call ren "%%i" "%%n:%oldstr%=%newstr%%%%%~xi"
  11. )
  12. )
  13. )
  14. pause
复制代码





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