使用C#删除目录中的特定文件

时间:2011-04-12 19:19:18

标签: c#

我的C:\ TEMP目录中存在许多.bmp文件。

我正在使用以下代码删除我的C:\ TEMP目录中的所有.bmp文件,但不知何故它不能正常工作。任何人都可以帮助我吗?

string[] filePaths = Directory.GetFiles(@"c:\TEMP\");
foreach (string filePath in filePaths)
{
    if (filePath.Contains(".bmp"))
        File.Delete(filePath);
}

我已经检查过.bmp文件,并且该目录没有只读属性

3 个答案:

答案 0 :(得分:13)

对于初学者来说,GetFiles有一个重载,它采用搜索模式http://msdn.microsoft.com/en-us/library/wz42302f.aspx,所以你可以这样做:

Directory.GetFiles(@"C:\TEMP\", "*.bmp");

因为它不起作用,发生了什么? 它找到了什么吗? 它是否会引发任何错误?

答案 1 :(得分:3)

还应该使用.EndsWith而不是.Contains

答案 2 :(得分:-1)

您可以快速编写以下代码:

    string[] t = Directory.GetFiles(Environment.CurrentDirectory, "*.pdf");
    Array.ForEach(t, File.Delete);

或对于文本文件:

    string[] t = Directory.GetFiles(Environment.CurrentDirectory, "*.txt");
    Array.ForEach(t, File.Delete);

因此,您可以为所有扩展名和所有目录编写代码。