根据上次修改日期比较两个文件夹

时间:2011-08-04 07:09:03

标签: date compare directory

我有两个文件夹A和B,它们包含相同的文件夹结构和文件,但文件夹B包含已修改的文件。两个文件夹也包含子文件夹。 我想检查文件夹B中修改了哪些文件并将其复制到另一个文件夹C. 如何使用cmd / shell脚本实现此目的?

2 个答案:

答案 0 :(得分:0)

AFAIK rsync和unison无法满足您的需求,因为您希望更改转到第三个文件夹C.

此代码未经测试:

#python
import os
import shutil
a_dir=...
b_dir=...
c_dir=...
len_a_dir=len(a_dir)
for root, dirs, files in os.walk(a_dir):
    dirs.sort()
    for file in sorted(files):
        a_file=os.path.join(root, file)
        b_file='%s%s' % (b_dir, file[len_a_dir:])
        if os.path.getmtime(a_file)!=os.path.getmtime(b_file):
            c_file='%s%s' % (c_dir, file[len_a_dir:])
            shutil.copyfile(b_file, c_file)

答案 1 :(得分:0)

试试这个:

rsync -r --compare-dest=/path/to/A /path/to/B/ /path/to/C