2010-04-12 66 views
4

我有兩個大的源代碼樹。其中一個有一些過時的圖像文件。我想自動更新一個源代碼樹中的所有舊圖像文件(png,jpg,gif)和另一個源代碼樹中的最新圖像文件。如何同步兩個本地文件結構

我使用Windows 7,但我已安裝Cygwin。我已經嘗試使用rsync到目前爲止,但沒有成功。

我希望我可以做這樣的事情:

rsync -r *.png newSourceTree oldSourceTree 

如果達到同樣的事情,例如一些其他的方式一個Perl或Bash腳本,我也會公開使用它。

任何幫助將不勝感激。

謝謝, 詹姆斯。

回答

1

什麼:

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

謝謝亞歷克斯。我甚至沒有考慮Windows解決方案:/ – James 2010-04-12 14:29:48

2

你想:

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

一個快速的解釋: 您要包括PNG文件,包括所有目錄(以便它可以遞歸),然後排除其他一切。包含/排除從左到右進行處理,並默認包含所有內容。

1

Unison專爲這類問題而設計。使用

unison oldTree newTree -force newer 

如果你想讓它只觸摸圖像文件,閱讀文檔可以同步所有文件。