一尘不染

复制C#中目录的全部内容

c#

我想在C#中将目录的全部内容从一个位置复制到另一个位置。

似乎没有一种方法可以在System.IO没有大量递归的情况下使用类。

如果添加对以下内容的引用,则VB中可以使用一种方法Microsoft.VisualBasic

new Microsoft.VisualBasic.Devices.Computer().
    FileSystem.CopyDirectory( sourceFolder, outputFolder );

这似乎是一个非常丑陋的hack。有没有更好的办法?


阅读 231

收藏
2020-05-19

共1个答案

一尘不染

容易得多

//Now Create all of the directories
foreach (string dirPath in Directory.GetDirectories(SourcePath, "*", 
    SearchOption.AllDirectories))
    Directory.CreateDirectory(dirPath.Replace(SourcePath, DestinationPath));

//Copy all the files & Replaces any files with the same name
foreach (string newPath in Directory.GetFiles(SourcePath, "*.*", 
    SearchOption.AllDirectories))
    File.Copy(newPath, newPath.Replace(SourcePath, DestinationPath), true);
2020-05-19