Windows では、フォルダ内のファイルの重複を防ぐソフトウェアはありますか?

Windows では、フォルダ内のファイルの重複を防ぐソフトウェアはありますか?

2 つのファイルがあるとしc:\f1\data.txtますc:\f2\data.txt

コマンドを発行すると

copy c:\f2\data.txt c:\f1\data\

上書きの可能性があるという警告が表示されます。data.txtから にドラッグアンドc:\f2\ドロップしようとすると、ダイアログボックスで同じ警告が表示されますc:\f1。この動作は、ファイルの名前が同じ ( ) であるために発生しますdata.txt。この動作には満足していますが、ファイルにも拡張したいと思います。名前は違うが内容は同じ

2つのファイルがありc:\f1\foo.txt、それぞれに1行と1行が含まれているc:\f2\bar.txtとします。つまり、同じ内容のファイルと、コマンドfoo.txtHello World!bar.txtHello World!foo.txtbar.txt

copy c:\f2\bar.txt c:\f1\

成功するだろうが、失敗してほしい。

この動作を 1 つのフォルダーのみで実行できればよいのですが、この目的を達成できるソフトウェアはありますか?

答え1

これを実行するプログラムは思い当たりません。

コピー前に比較を行い、同一の場合に警告するスクリプトまたはアプリケーションを簡単に作成できます。 しかし...常に注意点があります。どのように比較するのでしょうか?テキストファイルを扱っているので、データが現れる同じであるように思われますが、実際は同じではありません。次の例を見てみましょう。

これはテストです。

そして

これはテストです。 

これらの行はまったく同じに見えます。しかし、コンピューターにとっては異なります。マウスで左クリックして押したまま、最初の例を強調表示します。次に 2 行目を強調表示します。違いがわかりますか? 2 行目のピリオドの後にスペースがあります。これらの文字列は同じ情報を伝えますが、同一ではありません。1 文字 (1 バイト) の違いでも、コピーが可能になります。それで問題ない場合、アプリケーションまたはスクリプトは非常に簡単です。2 つのファイルのハッシュ値を取得して、その値を比較することをお勧めします。値が同じ場合は、警告を発してコピーを拒否します。

答え2

ウルトラ比較ご覧のように、同期ルールをいくつか定義すれば、望むことが可能になります。ここ

関連情報