ディレクトリ A からディレクトリ B にファイルを同期する必要があります。A のファイルをチェックし、B のファイルと 1 つずつ比較します。Aと同じ名前のファイルがBにある場合は、サイズを比較してファイルが異なるかどうかを確認します。ファイル サイズが異なる場合は、これをログに記録して次のファイルに移動します。ただし、ファイル サイズが同じ場合は、ファイルの内容も異なることを確認する必要があります。このために、両方のファイルのハッシュを作成して比較することを考えました。これは良いですか、それともファイルをバイトごとに比較する必要がありますか? また、どちらかの方法を選択する理由も教えてください。
私は C# (.NET 4) を使用しており、A に新しく追加されたファイルをレプリケートし、重複を報告 (およびスキップ) しながら、B のすべてのファイルを保持する必要があります。
ありがとう。
編集:このジョブは夜間に実行され、ファイルのハッシュをディレクトリ B にのみ保存するオプションがあります。ディレクトリ A は動的に入力されるため、これらのファイルを事前にハッシュすることはできません。また、ハッシュの衝突も避けたいので、どのハッシュアルゴリズムがこの目的に適していますか。