中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 文件批量复制并将重复文件改名
作者:
标题: 文件批量复制并将重复文件改名 上一主题 | 下一主题
skyblue
新手上路





积分 16
发帖 6
注册 2008-7-6
状态 离线
『楼 主』:  文件批量复制并将重复文件改名

请教一个问题:
我现在在e:\过滤\下有a2-a21共20个子目录。每个目录下面有10个txt和10个ini文件,而且他们是一一对应的,比方“天下1.txt”和“天下1.ini”是同前缀的2个文件。
我现在想把这20个子目录下的所有文件合并到“e:\过滤\all”目录下,但是各个目录下的文件名是重复的 ,有没有办法在批处理命令中把文件夹的信息加在文件名上,使all里的文件不重名。

2008-7-6 17:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

试试下面这个脚本?
@echo %bg% off

if not exist e:\过滤\__ md e:\过滤\__

for /r e:\过滤\ /d %%i in (a*) do (
        for %%k in ("%%~i\*.txt" "%%~i\*.ini")do (
                >nul copy "%%k" "e:\过滤\__\%%~nxi-%%~nxk"
        )
)

ren e:\过滤\__ all
echo finished...&pause


2008-7-7 00:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gggdqrdf
新手上路





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

学习中

2008-7-7 02:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
skyblue
新手上路





积分 16
发帖 6
注册 2008-7-6
状态 离线
『第 4 楼』:  

谢谢斑竹帮助。

2008-7-7 11:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
skyblue
新手上路





积分 16
发帖 6
注册 2008-7-6
状态 离线
『第 5 楼』:  

测试有问题,20个文件夹,每个文件夹有20个文件,应该生成400个,但实际用批处理生成了8000多,好象有些文件被反复重命名了,前缀加的很长

2008-7-7 12:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
skyblue
新手上路





积分 16
发帖 6
注册 2008-7-6
状态 离线
『第 6 楼』:  

好了,是我设置的问题,非常感谢

2008-7-7 12:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by skyblue at 2008-7-7 12:22:
测试有问题,20个文件夹,每个文件夹有20个文件,应该生成400个,但实际用批处理生成了8000多,好象有些文件被反复重命名了,前缀加的很长

这也是为什么我用ren把新建的文件夹重命名的原因……

2008-7-7 22:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: