Board logo

标题: [文件操作] 批处理怎样拷贝文件夹A和文件夹B中不同的文件? [打印本页]

作者: nmbz2010    时间: 2010-12-9 09:30     标题: 批处理怎样拷贝文件夹A和文件夹B中不同的文件?

请高手帮忙写一个批处理代码,目的是拷贝 文件夹A中的子目录及全部文件 到 文件夹B中, 只拷贝不同的子目录及文件,谢谢大家!我在这论坛学到了很多,也在逐步进步!
作者: hanyeguxing    时间: 2010-12-9 11:47

楼主没有明确:“不同的子目录及文件”的定义是什么?
1,如果子文件夹相同,但里面的文件不同,是否复制文件?
2,如果文件相同,但子文件夹不同,是否复制文件?
3,文件的不同是以文件名为依据,还是以内容?
作者: ipqfhvk    时间: 2010-12-9 12:02     标题: 你试试看

xcopy /s a b
A中的子目录及全部文件 到 文件夹B中, 只拷贝不同的子目录及文件
相同的也复制进去也没什么啊
作者: nmbz2010    时间: 2010-12-10 10:02

寒夜孤星 问的好,我主要目的是 文件夹同步,就是定期执行一下这个批处理,同步一下文件夹,使文件夹A和文件夹B完全相同,就是备份一个副本这个意思!!

如果全部复制也行,就是时间太长了,因为文件较多,并且很大,所以相同的就不复制了!

希望帮助写个解决代码,非常感谢!!!
作者: hanyeguxing    时间: 2010-12-10 15:22

通过文件名判断:
  1. @echo off&setlocal enabledelayedexpansion
  2. set copycmd=/-y
  3. for /r "D:\A" %%a in (*) do set n=n!n!
  4. echo %n%|xcopy /cqsekrh "D:\A" "E:\B"
复制代码

根据需要,从xcopy的参数/cqsekrh中选择。

[ 本帖最后由 hanyeguxing 于 2010-12-10 15:39 编辑 ]
作者: nmbz2010    时间: 2010-12-15 13:58

非常感谢“寒夜孤星”,语句非常精炼,实现了我想要的要求,并且从中学到了很多,谢谢!!!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2