1
string[] s = Directory.GetFiles(t, "*.txt",SearchOption.AllDirectories);
for (int i = 0; i < s.Length; i++)
{
    File.Copy(s[i],
}

File.Copy 将文件复制到另一个文件名。我想保留相同的文件名,只需将它们从一个目录复制到另一个目录。

4

4 回答 4

5

用这个:

 File.Copy(s[i], "c:\\anotherFolder\\" + Path.GetFileName(s[i]));
于 2013-08-08T07:45:10.940 回答
3

你可以像这样很好地做到这一点:

Directory.GetFiles("c:\\temp", "*.txt", SearchOption.AllDirectories) // get the files
    .Select(c => new FileInfo(c)) // project each filename into a fileinfo
    .ToList() // convert to list
    .ForEach(c => c.CopyTo("d:\\temp\\" + c.Name)); // foreach fileinfo, copy to the desired path + the actual file name
于 2013-08-08T07:46:50.380 回答
1

您可以查看这篇文章,这应该会有所帮助;

或者这个 MSDN链接:

代码片段:

var sourceDir = @"c:\sourcedir";
var destDir = @"c:\targetdir";
var pattern = "*.txt";

foreach (var file in new DirectoryInfo(sourceDir).GetFiles(pattern))
{
   file.CopyTo(Path.Combine(destDir, file.Name));
}

希望这可以帮助?

于 2013-08-08T07:45:59.560 回答
0

你做对了..

见微软的例子

http://msdn.microsoft.com/en-us/library/bb762914.aspx

另一种解决方案可能是调用xcopy命令...

于 2013-08-08T07:41:07.643 回答