我正在将文件从一个文件夹移动到另一个destination1
到destination2
但是如果destination2已经有来自destination1的文件的副本,我想简单地跳过并继续复制过程而不是覆盖哪个将需要更长的过程。
我已经尝试过:FileSystem.CopyFile(destination1,destination2, true);
将覆盖该文件。无论如何,我可以得到一些帮助来完成这个。
答案 0 :(得分:5)
您可以使用File.Exists
方法检查文件是否已存在:
if(!File.Exists(destination2))
{
// copy file
}
答案 1 :(得分:0)
你告诉你要避免覆盖,那么为什么你为最后一个参数传递了true
?
您是否尝试过false
?
FileSystem.CopyFile(destination1, destination2, false);
请注意,请记住系统永远不会比较两个文件,以便知道它们是否相同,然后跳过副本。 如果你想完成这个行为,那么你必须自己实现它,但它通常比简单重写更重,因为需要完全读取目标文件,除非你实现了一些缓存机制或目标文件已经(仍然)在系统缓存中。
此致 丹尼尔。