标题: [已结]如何批量修改文件名?
[打印本页]
作者: 23112656
时间: 2008-7-28 02:26
标题: [已结]如何批量修改文件名?
我先说一下情况`我电脑里有N张JPG格式的图片,而图片的名字又乱七八糟,有没有办法把这些图片的名字从1开始,然后顺序的改名下去?比如:1.jpg 2.jpg 3.jpg
我试了很多办法还是不行啊.我想应该要用到FOR /L 命令吧?但改来改去只能在一个文件上改名`我郁闷啊```求各位高手支招```
最后麻烦各位高手能把详细的代码说明一下`再次感谢```
[
Last edited by HAT on 2008-11-19 at 17:08 ]
作者: pusofalse
时间: 2008-7-28 05:20
这样的问题已经有很多了,同你的一模一样。
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
)
作者: 523066680
时间: 2008-7-28 08:49
短 超短……无语……无奈……羡慕……
楼上的代码已经简洁到没什么可以解释的了,有的话就是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 ]
作者: 23112656
时间: 2008-7-30 23:12
呵呵```谢谢啊```其实我觉得绕弯路是成为高手的捷径啊`
作者: 23112656
时间: 2008-7-30 23:31
可是用了2楼的代码为什么数字并不是按照顺序来排列的呢?准确说数字是到100以后才开始正确排列的.100以前的数字都是跳着改名的
作者: pusofalse
时间: 2008-7-31 07:51
不是跳着改名,而是排列顺序不同,你右键一下,名称排列。
在我电脑上运行正常。
作者: studythedos
时间: 2008-7-31 08:45
以前见个批量改的,是先删到回收站的,觉得挺麻烦的,原来这里还有这么简单的啊。。学了。。
作者: 23112656
时间: 2008-8-1 04:33
Quote: |
Originally posted by pusofalse at 2008-7-31 07:51 AM:
不是跳着改名,而是排列顺序不同,你右键一下,名称排列。
在我电脑上运行正常。 |
|
我排列过了还是我说的那样啊,所以我建了2个批,执行完一个后排列不正常,然后再执行第二个就好了,这之间的问题是什么呢?和延时有关系吗?
作者: 523066680
时间: 2008-8-1 10:40
可能……
试试把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 ]
作者: gxfc
时间: 2008-11-19 17:00
看了2楼的很受教,老帖也顶