4

2 つの大きなソース ツリーがあります。そのうちの 1 つに古い画像ファイルが含まれています。1 つのソース ツリー内のすべての古い画像ファイル (png、jpg、gif) を、別のソース ツリー内の最新の画像ファイルで自動的に更新したいと考えています。

Windows 7 を使用していますが、Cygwin がインストールされています。これまで rsync を使用してみましたが、成功しませんでした。

私は次のようなことができることを望んでいました:

rsync -r *.png newSourceTree oldSourceTree

Perl や Bash スクリプトなど、同じことを達成する別の方法があれば、それも喜んで使用します。

どんな助けでも大歓迎です。

ありがとう、ジェームズ。

4

3 に答える 3

2

あなたが欲しい:

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

簡単な説明:pngファイルを含め、すべてのディレクトリを含めて(再帰できるように)、それ以外はすべて除外します。包含/除外は左から右に処理され、デフォルトではすべてが含まれます。

于 2010-04-12T15:55:14.937 に答える
1

What about:

robocopy c:\source\ c:\destination\ *.png *.gif /s
于 2010-04-12T13:59:53.263 に答える
1

Unisonは、まさにこの種の問題のために設計されています。を使用してすべてのファイルを同期できます

unison oldTree newTree -force newer

画像ファイルだけに触れさせたい場合は、ドキュメントを読んでください。

于 2010-04-13T01:51:12.320 に答える