中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 03:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 文件批量复制并将重复文件改名 查看 1,148 回复 6
楼 主 文件批量复制并将重复文件改名 发表于 2008-07-06 17:13 ·  中国 上海 国通数据中心
新手上路
积分 16
发帖 6
注册 2008-07-06 15:44
18年会员
UID 121169
性别 男
状态 离线
请教一个问题:
我现在在e:\过滤\下有a2-a21共20个子目录。每个目录下面有10个txt和10个ini文件,而且他们是一一对应的,比方“天下1.txt”和“天下1.ini”是同前缀的2个文件。
我现在想把这20个子目录下的所有文件合并到“e:\过滤\all”目录下,但是各个目录下的文件名是重复的 ,有没有办法在批处理命令中把文件夹的信息加在文件名上,使all里的文件不重名。
2 发表于 2008-07-07 00:33 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
试试下面这个脚本?
@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
3 发表于 2008-07-07 02:13 ·  中国 山东 济南 联通
新手上路
积分 4
发帖 2
注册 2008-07-07 00:36
18年会员
UID 121188
性别 男
状态 离线
学习中
4 发表于 2008-07-07 11:10 ·  中国 上海 国通数据中心
新手上路
积分 16
发帖 6
注册 2008-07-06 15:44
18年会员
UID 121169
性别 男
状态 离线
谢谢斑竹帮助。
5 发表于 2008-07-07 12:22 ·  中国 上海 国通数据中心
新手上路
积分 16
发帖 6
注册 2008-07-06 15:44
18年会员
UID 121169
性别 男
状态 离线
测试有问题,20个文件夹,每个文件夹有20个文件,应该生成400个,但实际用批处理生成了8000多,好象有些文件被反复重命名了,前缀加的很长
6 发表于 2008-07-07 12:47 ·  中国 上海 国通数据中心
新手上路
积分 16
发帖 6
注册 2008-07-06 15:44
18年会员
UID 121169
性别 男
状态 离线
好了,是我设置的问题,非常感谢
7 发表于 2008-07-07 22:59 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by skyblue at 2008-7-7 12:22:
测试有问题,20个文件夹,每个文件夹有20个文件,应该生成400个,但实际用批处理生成了8000多,好象有些文件被反复重命名了,前缀加的很长

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