問題

我想在C#中將目錄的全部內容從一個位置複製到另一個位置.

似乎沒有辦法在沒有大量遞迴的情況下使用System.IO類執行此操作.

VB中有一個方法,如果我們新增對Microsoft.VisualBasic的引用,我們可以使用:

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

這似乎是一個相當醜陋的駭客.有沒有更好的方法?

  最佳答案

更容易

 //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);
 

  相同標籤的其他問題

c#.netcopy