Board logo

标题: 文件批量复制并将重复文件改名 [打印本页]

作者: skyblue     时间: 2008-7-6 17:13    标题: 文件批量复制并将重复文件改名

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

作者: gggdqrdf     时间: 2008-7-7 02:13
学习中
作者: skyblue     时间: 2008-7-7 11:10
谢谢斑竹帮助。
作者: skyblue     时间: 2008-7-7 12:22
测试有问题,20个文件夹,每个文件夹有20个文件,应该生成400个,但实际用批处理生成了8000多,好象有些文件被反复重命名了,前缀加的很长
作者: skyblue     时间: 2008-7-7 12:47
好了,是我设置的问题,非常感谢
作者: lxmxn     时间: 2008-7-7 22:59


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

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