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。这是优雅的,节省代码写作。在我使用密集处理的情况下,我发现它对我的需求很慢 - 但仅限于我的特定需求。谢谢 –