2016-05-06 79 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是的,只需使用一個字符串,如本例所示。 –