在 Windows 中,是否有任何软件可以防止文件夹中的文件重复?

在 Windows 中,是否有任何软件可以防止文件夹中的文件重复?

假设我有两个文件c:\f1\data.txtc:\f2\data.txt

如果我发出命令

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

我将收到有关潜在覆盖的警告。如果我尝试以图形方式将其拖放到 中,我将收到相同的警告(对话框)data.txtc:\f2\c:\f1行为是由于文件具有相同的名称(data.txt)。我对这种行为感到满意,但我希望将其扩展到文件名称不同,内容相同

假设我有两个文件c:\f1\foo.txtc:\f2\bar.txt并且假设foo.txt包含一行Hello World!bar.txt包含一行Hello World!,因此foo.txtbar.txt具有相同的内容,现在命令

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

将会成功,但我希望它失败。

我很高兴只对一个文件夹有这种行为,有没有什么软件可以实现我的目标?

答案1

据我所知没有哪个程序可以做到这一点。

您可以轻松编写脚本或应用程序,在复制之前进行比较,如果它们相同则发出警告。 然而... 总是有一个警告。你如何进行比较?由于你处理的是文本文件,数据可能出现看起来是一样的,但事实并非如此。请看以下例子:

这是一个测试。

这是一个测试。 

这些行看起来完全相同。然而,对于计算机来说,它们是不同的。用鼠标左键单击并按住,然后突出显示第一个例子。然后突出显示第二行。发现区别了吗?第二个例子的句号后面有一个空格。这些字符串虽然传达了相同的信息,但并不完全相同。即使只有一个字符(1 个字节)的差异,也会允许复制。如果您对此没有异议,那么应用程序或脚本就非常简单了。我建议只获取两个文件的哈希值并比较该值。如果值相同,则发出警告并拒绝复制。

答案2

超级比较如果你定义一些同步规则,你就可以做你想做的事,正如你所见这里

相关内容