2016-05-06 28 views
1

我目前正在研究将删除我的临时文件夹中的东西的工具,并且我已将它删除文件(如文本文件和文件夹),但是如何制作它以便删除RAR文件和JPG等文件?可能吗?从临时文件夹中删除RAR文件?

这是我当前的代码

​​
+1

上面的代码示例简单地删除所有内容,其中还包括RAR文件... – DVK

+0

您是否收到任何错误?我不明白为什么这个代码只会选出.txt文件和文件夹。 –

回答

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扩展方法将是最好的选择。

+0

在你创建的方法中,我将如何实现扩展?如.rar&.jpg –

+0

哦,我用扩展名创建字符串? –

+0

@ Alexander.Matt是的,只需使用一个字符串,如本例所示。 –