string[] s = Directory.GetFiles(t, "*.txt",SearchOption.AllDirectories);
for (int i = 0; i < s.Length; i++)
{
File.Copy(s[i],
}
File.Copy会将文件复制到另一个文件名。 我想保留相同的文件名,只需将它们从一个目录复制到另一个目录。
答案 0 :(得分:5)
使用此:
File.Copy(s[i], "c:\\anotherFolder\\" + Path.GetFileName(s[i]));
答案 1 :(得分: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
答案 2 :(得分:1)
您可以查看this帖子,这应该会有所帮助;
或this 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));
}
希望这有帮助吗?
答案 3 :(得分:0)
你这样做是正确的..
参见microsoft的示例
http://msdn.microsoft.com/en-us/library/bb762914.aspx
另一个解决方案可能是调用xcopy命令......