如何同步两个本地文件结构

时间:2010-04-12 13:49:56

标签: bash rsync

我有两棵大型的源树。其中一个有一些过时的图像文件。我想使用另一个源树中的最新图像文件自动更新一个源树中的所有旧图像文件(png,jpg,gif)。

我使用的是Windows 7,但我安装了Cygwin。我到目前为止尝试过使用rsync但没有成功。

我希望我可以做类似的事情:

rsync -r *.png newSourceTree oldSourceTree

如果还有其他方法可以实现相同的目标,例如:一个Perl或Bash脚本,我也愿意使用它。

非常感谢任何帮助。

谢谢, 詹姆斯。

3 个答案:

答案 0 :(得分:2)

你想:

rsync -av --include '*.png' --include '*/' --exclude '*' newSourceTree/ oldSourceTree/

快速解释: 您想要包含png文件,包括所有目录(以便它可以递归),然后排除其他所有内容。包含/排除从左到右处理,默认包括所有内容。

答案 1 :(得分:1)

怎么样:

robocopy c:\source\ c:\destination\ *.png *.gif /s

答案 2 :(得分:1)

Unison专门针对此类问题而设计。您可以使用

同步所有文件
unison oldTree newTree -force newer

如果您只想触摸图像文件,请阅读文档。