2015-07-27 16:29
批处理bat应用之批量为文件夹下的文件增加文件名后缀
前几天发表了一篇“批处理bat应用之批量为文件夹下的文件增加文件名前缀”的文章中提到,阿萌要在最近写一篇更改文件名后缀的文章,当然,这里的后缀指的不是扩展名,而是文件名,为了区分后缀和后缀名的语义上的区别,下文直接用扩展名这个词,接下来看看是怎么修改的吧。
先来看看添加前缀的代码:
@echo off title 批量替换文件名前缀 echo. echo 本批处理可批量替换本文件所在文件夹下指定文件类型的文件的文件名前缀。 echo. echo.&set /p strtype= 请输入要添加前缀的文件类型(例:jpg): echo.&set /p strname= 请输入要添加的前缀字符串(无需更改请直接回车): setlocal enabledelayedexpansion for /f "delims=" %%i in ('dir /a /b *.%strtype%') do ( ren "%%~i" "%strname%%%i") echo. echo 修改完毕! echo. pause
其实我们要修改成添加后缀的代码,只要修改for命令后面do里面的内容就可以了。
因为找来找去都没有找到什么快捷的办法直接重命名,最后只好通过替换字符串的方式来重命名了。
首先我们新建一个变量strnname存储整个文件命(注:包括文件扩展名)。
然后直接通过替换扩展名为我们所定义的后缀,再添加上原扩展名,最后通过ren重命名即可。
添加后缀的代码:
@echo off title 批量替换文件名后缀 echo. echo 本批处理可批量替换本文件所在文件夹下指定文件类型的文件的文件名后缀。 echo. echo.&set /p strtype= 请输入要添加后缀的文件类型(例:jpg): echo.&set /p strname= 请输入要添加的后缀字符串(无需更改请直接回车): set strtype=.%strtype% setlocal enabledelayedexpansion for /f "delims=" %%i in ('dir /a /b *%strtype%') do ( set strnname=%%i set strnname=!strnname:%strtype%=%strname%! set strnname=!strnname!%strtype% ren "%%i" "!strnname!" ) echo. echo 修改完毕! echo. pause
观察仔细的朋友可能会发觉我多了一个set strtype=.%strtype%的语句,其实是为了方便替换,把扩展名的点直接纳入替换值里而已。
标签:批处理
- 批处理bat代码之setlocal enabledelayedexpansion的作用
- 批处理bat应用之批量为文件夹下的文件增加文件名前缀
分类相关推荐 / Cat Related Articles
- 批处理bat应用之批量为文件夹下的文件增加文件名前缀
- 批处理bat代码之setlocal enabledelayedexpansion的作用