2011-09-18 261 views
20

我正在处理一个项目,我想将一个目录中的某些文件复制到第二个已经存在的目录中。将文件复制到其他目录

我找不到从一个文件夹简单复制到另一个文件夹的方法。我可以找到复制文件到一个新的文件,或目录到一个新的目录。

我现在正在设置程序的方式是复制文件并将其保留在同一目录中,然后将该副本移动到我想要的目录。

编辑:

谢谢大家。你所有的答案都有效。我意识到我做错了什么,当我设置目标路径时,我没有添加文件名。现在一切正常,感谢超级快速的回应。

+9

你应该接受一个答案... –

回答

5

也许

File.Copy("c:\\myFolder\\myFile.txt", "c:\\NewFolder\\myFile.txt"); 

+1

这并不是从一个目录中的文件复制到* *另一个,这是什么在的问题。 – svick

+0

@svick你的回答与我的不同吗? – evilone

+0

这不是现在,但它是在你进行编辑之前(看你的答案的历史)。 – svick

13

MSDN File.Copy

var fileName = "sourceFile.txt"; 
var source = Path.Combine(Environment.CurrentDirectory, fileName); 
var destination = Path.Combine(destinationFolder, fileName); 

File.Copy(source, destination); 
+0

除了回答[如何:复制,删除和移动文件和文件夹(C#编程指南)](http://msdn.microsoft.com/zh-cn/library/cc148994.aspx)和[复制多个文件](http://www.dreamincode.net/forums/topic/55893-copy-multiple-files/) – Samich

+1

@奥斯汀,你计算'destination'的方式没有意义。 'source'是源文件的路径,而不仅仅是文件名。 – svick

+0

@svick:很好。我原来的源只是文件名。 –

26
File.Copy(@"someDirectory\someFile.txt", @"otherDirectory\someFile.txt"); 

工作正常。

24
string fileToCopy = "c:\\myFolder\\myFile.txt"; 
string destinationDirectory = "c:\\myDestinationFolder\\"; 

File.Copy(fileToCopy, destinationDirectory + Path.GetFileName(fileToCopy)); 
+0

Path.GetFileName的用法不错,谢谢! –

1

这为我工作:

string picturesFile = @"D:\pictures"; 
    string destFile = @"C:\Temp\tempFolder\"; 

    string[] files = Directory.GetFiles(picturesFile); 
    foreach (var item in files) 
    { 
     File.Copy(item, destFile + Path.GetFileName(item)); 
    } 
相关问题