3
A
回答
6
最好的方法是致電Directory.Delete(directory, true);
這將刪除目錄,所有子目錄和所有文件。不需要線程。
如果您想要異步執行此操作(即在刪除目錄時您的程序執行其他操作),請參閱Calling Synchronous Methods Asynchronously。
0
讓它在操作系統上。它知道如何安排這些操作,使其即使在高昂的工作負荷下也能夠快速且良好地執行。如果程序的其餘部分不能被阻止,只需從一個單獨的線程派遣它。
0
待辦事項something like this:
ThreadPool.QueueUserWorkItem(delegate
{
try
{
Directory.Delete(path, true);
}
catch { } //Do something
});
0
如果你想嘗試多線程(我想象,有可能就像是試圖獲得在不可用的網絡資源,其中一個線程池將加快整體時間的情況下):
List<Task> tasks =
(from c in yourDirList select new Action(() =>
{
try
{
// do it
}
catch (Exception e)
{
// log it
}
})
into action
select Task.Factory.StartNew(action)).ToList();
tasks.ForEach(c => c.Wait());
+0
這比看起來更難,因爲必須按特定順序完成:在刪除目錄之前,必須刪除目錄中的所有文件和目錄。由於目錄結構是任意深的,因此最終必須包含使目錄刪除等待的邏輯,直到所有子元素都被刪除。 – 2011-04-11 19:40:31
相關問題
- 1. 刪除c中的文件夾和子文件夾#
- 2. 從文件夾和子文件夾中刪除文件
- 3. 刪除文件夾/文件和子文件夾
- 4. pysmb刪除遞歸的文件夾子文件夾和文件
- 5. 如何刪除文件,主文件夾和子文件夾
- 6. 刪除文件夾和子文件夾如果不使用(Powershell)
- 7. 刪除文件和程序文件夾的文件夾
- 8. 在Win32中刪除子文件夾之前,如何從文件夾和子文件夾中刪除文件?
- 9. 用文件夾中的文件刪除文件和子文件夾
- 10. C#文件夾和子文件夾
- 11. C#的文件夾和子文件夾
- 12. 刪除文件夾「tmp」和「cache」中的文件和子文件夾
- 13. 的mod_rewrite刪除子文件夾和PHP
- 14. 刪除文件夾和包含文件
- 15. 刪除文件和文件夾VBA(EXCEL)
- 16. 刪除文件和文件夾問題
- 17. 如何刪除文件和文件夾
- 18. 在Objective-C/C中刪除文件夾及其子文件夾
- 19. 刪除許多文件夾和子文件夾中的特定文件夾
- 20. 如何刪除子文件夾而不刪除父文件夾和子文件夾?
- 21. 用C刪除文件夾#
- 22. 使用Perl刪除子文件夾和文件#
- 23. 使用c刪除文件夾後刪除文件夾#
- 24. 文件總大小和子文件夾
- 25. 刪除批處理文件夾中的文件和文件夾
- 26. 刪除指定文件夾中的文件和文件夾
- 27. Nsis刪除文件夾和子文件夾 - 安裝程序內的目錄
- 28. 使用批處理文件查找和刪除文件夾和子文件夾中的特定文件
- 29. 從文件夾和所有包含的子文件夾中刪除txt文件
- 30. 在linux上刪除包含子文件夾和文件的文件夾
這通常是一個壞主意。在並行執行更多操作時,物理磁盤上的磁盤操作往往會減慢。如果你想保持你的UI響應,你可以創建一個'BackgroundWorker',但在這種情況下,更多的線程不會加快速度。 – 2011-04-11 18:46:22
你打算徹底刪除目錄還是隻刪除特定的文件? – 2011-04-11 18:48:28
整個目錄及其中的所有文件/文件夾。 – RPS 2011-04-11 19:05:54