中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [已结]如何批量修改文件名? 上一主题 | 下一主题
23112656
中级用户





积分 220
发帖 99
注册 2008-6-26
状态 离线
『楼 主』:  [已结]如何批量修改文件名?

我先说一下情况`我电脑里有N张JPG格式的图片,而图片的名字又乱七八糟,有没有办法把这些图片的名字从1开始,然后顺序的改名下去?比如:1.jpg 2.jpg 3.jpg
我试了很多办法还是不行啊.我想应该要用到FOR /L 命令吧?但改来改去只能在一个文件上改名`我郁闷啊```求各位高手支招```

最后麻烦各位高手能把详细的代码说明一下`再次感谢```

[ Last edited by HAT on 2008-11-19 at 17:08 ]

2008-7-28 02:26
查看资料  发送邮件  发短消息 网志   编辑帖子
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 2 楼』:  

这样的问题已经有很多了,同你的一模一样。
http://www.cn-dos.net/forum/view ... 7%E4%BB%B6%E5%90%8D

for %%a in (*.jpg) do (
  set/a n+=1
  call ren "%%a" %%n%%.jpg
)



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-7-28 05:20
查看资料  发送邮件  发短消息 网志   编辑帖子
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 3 楼』:  

短  超短……无语……无奈……羡慕……
楼上的代码已经简洁到没什么可以解释的了,有的话就是call部分……这是一个很好的
例子,楼主要掌握技巧哦!(郁闷……我不会这个……楼主真好运,刚来就有的学)

贴上我的一个,效率很低,我刚入门时写的:(不用set命令哦)
ren *.jpg *.[jpg]
for /l %%a in (1,1,10000) do (
    ren *.[jpg] a-%%a.jpg 2>nul
    if not exist *.[jpg] exit
)
解释:将所有的jpg文件改为 [jpg] 格式
     然后 的for /l %%a 从1到10000
  f1 --重命名*. [jpg] 为 1.jpg  由于系统错误,所以只能重命名出一个1.jpg
  f2 --重命名*. [jpg] 为 2.jpg  因为是ren *.[jpg] 所以 之前的1.jpg不会被改成2.jpg
           并且仍把剩下的[jpg]提取一个2.jpg 达到了一个个重命名的效果。
  f3 f4以此类推
此方法不支持大家用,纯粹是绕弯路……吃饱了撑着,明明精华贴里面有,却硬要
写个自己的。

[ Last edited by 523066680 on 2008-7-31 at 03:06 PM ]



综合型编程论坛

我的作品索引
  
2008-7-28 08:49
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子
23112656
中级用户





积分 220
发帖 99
注册 2008-6-26
状态 离线
『第 4 楼』:  

呵呵```谢谢啊```其实我觉得绕弯路是成为高手的捷径啊`

2008-7-30 23:12
查看资料  发送邮件  发短消息 网志   编辑帖子
23112656
中级用户





积分 220
发帖 99
注册 2008-6-26
状态 离线
『第 5 楼』:  

可是用了2楼的代码为什么数字并不是按照顺序来排列的呢?准确说数字是到100以后才开始正确排列的.100以前的数字都是跳着改名的

2008-7-30 23:31
查看资料  发送邮件  发短消息 网志   编辑帖子
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 6 楼』:  

不是跳着改名,而是排列顺序不同,你右键一下,名称排列。
在我电脑上运行正常。



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-7-31 07:51
查看资料  发送邮件  发短消息 网志   编辑帖子
studythedos
初级用户





积分 91
发帖 45
注册 2007-3-14
状态 离线
『第 7 楼』:  

以前见个批量改的,是先删到回收站的,觉得挺麻烦的,原来这里还有这么简单的啊。。学了。。

2008-7-31 08:45
查看资料  发送邮件  发短消息 网志   编辑帖子
23112656
中级用户





积分 220
发帖 99
注册 2008-6-26
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by pusofalse at 2008-7-31 07:51 AM:
不是跳着改名,而是排列顺序不同,你右键一下,名称排列。
在我电脑上运行正常。

我排列过了还是我说的那样啊,所以我建了2个批,执行完一个后排列不正常,然后再执行第二个就好了,这之间的问题是什么呢?和延时有关系吗?

2008-8-1 04:33
查看资料  发送邮件  发短消息 网志   编辑帖子
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 9 楼』:  

可能……
试试把for %%a in (*.jpg) do (
改成  for /f "tokens=*" %%a in ('dir *.jpg') do (
我觉得有可能是,重命名后,已经被rename过的文件 仍被在for读取
导致重复重命名同一部分文件

但是 在我这里测试的时候 没有出问题


欢迎参考这个帖子:http://www.cn-dos.net/forum/viewthread.php?tid=41846&fpage=2

论坛批处理区置顶的地方 有批处理精华帖
支持楼主下载  好好看,收获很大的

[ Last edited by 523066680 on 2008-8-1 at 10:54 AM ]



综合型编程论坛

我的作品索引
  
2008-8-1 10:40
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子
gxfc
新手上路





积分 17
发帖 11
注册 2006-10-22
状态 离线
『第 10 楼』:  

看了2楼的很受教,老帖也顶

   此帖被 -4 点积分        点击查看详情   
评分人:【 yishanju 分数: -4  时间:2008-11-19 18:49


2008-11-19 17:00
查看资料  发短消息 网志   编辑帖子

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: