0
我有一個目錄struture像這樣:如何刪除1次命中子目錄中的所有文件永久
C:\年\月\日\小時\分鐘
的「年」根向下都可以有多個子目錄
從「Day」子根開始,我希望刪除子子目錄內的所有文件和目錄。
當我說永久刪除,我的意思是不發送到回收站。
我發現他的代碼,將做到這一點:
using Microsoft.VisualBasic.FileIO:
var files = GetAllFiles(suggested);
foreach (var file in files)
{
FileSystem.DeleteFile(file, UIOption.OnlyErrorDialogs,RecycleOption.DeletePermanently, UICancelOption.ThrowException);`
}
FileSystem.DeleteDirectory(suggested, UIOption.OnlyErrorDialogs,RecycleOption.DeletePermanently, UICancelOption.ThrowException);
private static IEnumerable<string> GetAllFiles(string rootDirectory)
{
foreach (var file in Directory.GetFiles(rootDirectory, "*", SearchOption.AllDirectories))
{
yield return file;
}
}
我很想做的是省略GetFilesMethod(路徑),做這樣的事情:
FileSystem.DeleteDirectory(suggested, UIOption.OnlyErrorDialogs,RecycleOption.DeletePermanently, UICancelOption.ThrowException, recursive=true, all contents);
顯然,「遞歸= true,所有內容都是SUDO代碼。
感謝
完全正確它:)。不要誤解我的LINQ。這是優雅的,節省代碼寫作。在我使用密集處理的情況下,我發現它對我的需求很慢 - 但僅限於我的特定需求。謝謝 –