2

我正在为我的应用程序开发一项功能,单击按钮会扫描“C:\”驱动器(以及所有子目录,只读或非只读),并删除所有具有特定文件扩展名的文件。我该怎么做呢?我确定会使用列表或数组......但这就是我所知道的。

请仅使用 .Net 框架 2.0!

4

5 回答 5

1

遍历目录树。此处描述了必需的代码。

于 2010-08-13T09:10:20.333 回答
1
foreach (string filename in Directory.EnumerateFiles(@"C:\", "*.xxx", SearchOption.AllDirectories)
{
    File.Delete(filename);
}
于 2010-08-13T09:10:55.747 回答
1
foreach (String file in Directory.GetFiles("c:\\","*.iddqd", SearchOption.AllDirectories) )
        File.Delete (file);
于 2010-08-13T09:11:45.510 回答
1

我认为以下代码会起作用:

using System.IO;

...


string[] extensions = { "*.apa", "*.dip", "*.ep" }; // whatever extensions you care about
foreach (string ext in extensions)
{
     foreach (string file in Directory.GetFiles(@"c:\", ext, SearchOption.AllDirectories))
     {
          File.SetAttributes(file, FileAttributes.Normal);
          File.Delete(file);
     }
}
于 2010-08-13T09:20:48.343 回答
1

尝试这个:

 DirectoryInfo directoryInfo = new DirectoryInfo(@"directory path");
        foreach (var f in directoryInfo.GetFiles("*.*", SearchOption.AllDirectories))
        {
            f.Delete();
        }
于 2010-08-13T09:22:46.390 回答