阿萌的程序小屋

萌物控重度患者与您一起畅游技术与梦想的世界

批处理bat应用之批量为文件夹下的文件增加文件名前缀

前几天新买了手机,要移动相册里的文件,但是发觉新手机照片的文件名格式比原手机多了“IMG_”的前缀,无奈之下就去学习了,利用批处理的批量增添文件名前缀的方法,在此阿萌分享给大家,并衍生说明下添加后缀的方法。

批处理bat应用之批量为文件夹下的文件增加文件名后缀的方法将在接下几天中增添文章。

执行图:
1

按照惯例先介绍下原理:

我们所需功能的主要部分有2个,第一是检索所需要更改的文件,第二则是修改文件名。

第一步主要用到的命令行为:FOR /F “delims=” %%i IN (file) DO command。
这个是批处理工具中用来处理文件和一些命令的输出结果用的,command指的是命令,也就是说,整句话简单的解释为,检索文件夹下的“file”文件,然后执行command里的指令。

第二步我们要用到:ren “file” “changefile”,
ren,全称rename,此命令主要用于重命名。file指代的是需要更改的文件名,changefile是指更改之后的名字。例如ren “qq.jpg” “yy.jpg” 就是把qq.jpg文件重命名为yy.jpg。

然后两者结合起来,例如第一步中的变量%%i作为file,详细看下面代码去理解。

另外为了方便使用,我们必须设置让用户自己定义,自己输入的方法,所以我们要用到:SET /P variable=[promptString],这个命令格式,variable代表的是变量名,promptString是提示字符串,用此设计让用户自己选择要修改的文件类型,和要增添的文件名前缀后缀。

来看代码:


@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

代码中的setlocal enabledelayedexpansion我就不多解释了,不然就是长篇大论了,现在只能简单的这样说是防止出错吧,如果有需要详细解释可以点进链接去看看。

如有朋友感觉我的博文或代码有问题,愿能给予我宝贵的意见!Thanks

另注:转载请随意,但请带上本文地址,万分感谢。

http://www.wangmengyu.cn/?p=484

这就是真的真的是传说中的公告牌的说~~
暂且努力发展中~~

性别:男  年龄:20岁
现居:江苏  南京  浦口区
标语:萌即是一切