用批处理实现将文件以数字重命名的代码
作者 佚名
来源 批处理
浏览
发布时间 2013-07-09
要求: 1、不能改变a.txt内容的顺序 2、将当前目录下的所有jpg文件以序号的形式重命名如:从1-16 3、如果有16个文件,必须重命名为1-16,不允许出现16之后的序号 a.txt内容: 复制代码 代码如下: 2.jpg 1.jpg a.jpg 5ww.jpg c.jpg f.jpg rty.jpg 3.jpg 11.jpg b.jpg 6.jpg e.jpg 8.jpg 111.jpg 7.jpg 30.jpg a.txt中的内容其实就是当前文件夹下的jpg文件列表。 要求将当前文件夹里的所有jpg文件以序号的形式重命名。 但只能从a.txt获取当前文件夹里的所有jpg的文件名。 以序号重命名文件,陷阱重重,但如果用dir或for等命令来获取文件名的话,获取的先后次序会有一定规律,导致有些问题不能体现出来 复制代码 代码如下: @echoon setlocalenabledelayedexpansion setn=0 setn1=0 for/f"tokens=*"%%ain(a.txt)do( set/an+=1 ren%%at!n!.jpg ) :loop set/an1+=1 rent%n1%.jpg%n1%.jpg&&goto:loop exit 第二种方法 好像可以更简单点 复制代码 代码如下: @echooff ren*.jpgt*.jpg setlocalenabledelayedexpansion for/f"delims="%%ain(''dir/b"t*.jpg"'')do( setstr=%%a&setstr=!str:~1! ren"%%a""!str!" ) pause |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于用批处理实现将文件以数字重命名的代码的所有评论