2013-08-19 80 views
-1

我試圖將文件夾從源複製到目標。源文件夾和目標文件夾將位於相同的目錄中。 該文件夾的結構會改變每個副本,因此它需要是通用的。 該文件夾將包含需要複製的文件和子目錄。 因此,一個文件夾的所有內容都應該被複制,而不管它包含到另一個文件夾中。將文件中的所有文件/子目錄複製到另一個

我希望這不是太大。但正好與我正在尋找一個簡單的例子: 源文件夾路徑:C:\目錄\版本\ 11.0.2 目標文件夾路徑:C:\目錄\版本\ 11.0.3

拷貝所有的11.0.2內容到11.0.3

這裏是我的代碼目前有沒有效果:

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

//Copy all the files 
foreach (string newPath in Directory.GetFiles(sourceDir, "*.*", 
SearchOption.AllDirectories)) 
File.Copy(newPath, newPath.Replace(sourceDir, targetDir)); 

如何做到這一點任何想法?

+0

當你說「那不是有效的」時,你是什麼意思? – Zeph

+0

你用什麼方式沒有效?它目前做了什麼? – Michelle

+0

重複:http://stackoverflow.com/questions/7146021/copy-all-files-in-directory – rie819

回答

0

Well this is the MSDN example

這個例子演示瞭如何使用I/O類目錄的 內容同步複製到其他位置。在這個例子中, 用戶可以指定是否也複製子目錄。如果 子目錄被複制,則此示例中的方法遞歸地通過 通過在每個後續子目錄上調用自身來複制它們,直到 沒有更多副本。

你也可以看看

Asynchronous File I/O

異步操作使您無需阻塞主線程中執行資源密集的I/O操作 。在Windows應用程序應用程序或 桌面應用程序中,此性能 的考慮尤其重要,其中耗時的流操作可能會阻塞UI 線程並使您的應用程序顯示爲不工作。

相關問題