2014-03-31 65 views
0

我正在使用Workflow Foundation代碼活動將使用通配符模式從文件夾複製到另一個文件的一組文件。我必須保持的文件夾結構,因此,例如,在這種情況下:C#使用模式複製文件並保留結構

C:\ 
    - MyFile.txt 
    - MyChildFolder 
    - MyFile.txt 

應該以這種方式被複制:

C:\ 
    - DestinationFolder 
    - MyFile.txt 
    - MyChildFolder 
     - MyFile.txt 

目前我使用下面的代碼:

// copy using the pattern 
var filesToCopy = sourceDirectoryInfo.GetFiles(pattern, SearchOption.AllDirectories); 
filesToCopy.ToList().ForEach(fileToCopy => 
{ 

    File.Copy(fileToCopy.FullName, Path.Combine(destinationDirectoryInfo.FullName, fileToCopy.Name), true); 
}); 

所以這裏發生的是,我最終將所有文件複製到根目錄目錄中。不幸的是我得到一個文件數組,所以我根本無法使用CopyFolder方法。

+0

如果你想保留文件夾結構,MyFile.txt和MyChildFolder是否在同一級別,不應該將'MyChildFolder'放在'DestinationFolder'裏面? – Herdo

+0

是的,我只是修正了它是一個錯字 – Raffaeu

回答

0

我已經通過從我的代碼調用一個xcopy命令解決了這個問題。

我可以很容易地以這種方式使用XCOPY:

xcopy "source\*.txt" "destination" /e 

,它會簡單地複製一切,並保留文件夾結構。

相關問題