标题: [文件操作] 批处理如何批量替换文件名? [打印本页]
作者: 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
- @echo off
- set folder_path=%~dp0
- set output_file=%~dp0\Output.txt
- dir /b "%folder_path%\*" > "%output_file%"
- pause
复制代码
我在网上找到的只能实现这种功能。
这个获取当前目录下的文件名,如何排除Output.txt 和批处理本身呢?
作者: 77七 时间: 前天 12:50
- @echo off
- rem 保存为ansi编码
- cd /d "%~dp0"
- set "oldstr=a"
- set "newstr=b"
- for /f "delims=" %%i in ('dir /b /a-d') do (
- if "%%i" neq "%~nx0" (
- set n=%%~ni
- if defined n (
- call ren "%%i" "%%n:%oldstr%=%newstr%%%%%~xi"
- )
- )
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |