在副本上跳过重复的文件

时间:2014-12-04 17:46:45

标签: c#

我正在将文件从一个文件夹移动到另一个destination1destination2但是如果destination2已经有来自destination1的文件的副本,我想简单地跳过并继续复制过程而不是覆盖哪个将需要更长的过程。 我已经尝试过:FileSystem.CopyFile(destination1,destination2, true);将覆盖该文件。无论如何,我可以得到一些帮助来完成这个。

2 个答案:

答案 0 :(得分:5)

您可以使用File.Exists方法检查文件是否已存在:

if(!File.Exists(destination2))
{
    // copy file
}

答案 1 :(得分:0)

你告诉你要避免覆盖,那么为什么你为最后一个参数传递了true

您是否尝试过false

FileSystem.CopyFile(destination1, destination2, false);

请注意,请记住系统永远不会比较两个文件,以便知道它们是否相同,然后跳过副本。 如果你想完成这个行为,那么你必须自己实现它,但它通常比简单重写更重,因为需要完全读取目标文件,除非你实现了一些缓存机制或目标文件已经(仍然)在系统缓存中。

此致 丹尼尔。