从临时文件夹中删除RAR文件?

时间:2016-05-06 18:02:36

标签: c# .net

我目前正在开发工具,它将删除我的临时文件夹中的内容,并且我已经删除文件,例如文本文件和文件夹,但是如何删除文件和JPG等文件呢?有可能吗?

这是我目前的代码

private void Clear_Click(object sender, EventArgs e)
{
    string tempPath = Path.GetTempPath();
    DirectoryInfo di = new DirectoryInfo(tempPath);

    foreach (DirectoryInfo dir in di.GetDirectories())
    {
        try
        {
           dir.Delete(true);
        }
        catch (Exception)
        {
            // Log error.
            continue;
        }  
    }

    foreach (FileInfo file in di.GetFiles())
    {
        try
        {
            file.Delete();
        }
        catch (Exception)
        {
            // Log error.
            continue;
        }
    }
}

1 个答案:

答案 0 :(得分:4)

DirectoryInfo.GetFiles()可以接受搜索模式参数。

foreach (FileInfo file in di.GetFiles("*.jpg"))
{
    file.Delete();
}

这会删除任何扩展名为.jpg的文件。您可以对.rar

执行相同的操作

我建议创建一种方法来执行此操作。

public void DeleteFiles(DirectoryInfo di, string searchPattern)
{
    foreach (FileInfo file in di.GetFiles(searchPattern))
    {
        file.Delete();
    }
}

一旦创建了这个,你就可以这样了。

DeleteFiles(di, "*.jpg");

如果您有所需的所有扩展名列表,可以循环使用它们。

string[] extentionList = new[] {"*.jpg", "*.rar", "*.bmp", "*.gif"};

foreach (string extension in extentionList)
{
    DeleteFiles(di, extension);
}

如果您将在各种地方使用此功能,将其转换为DirectoryInfo扩展方法将是最佳选择。