2014-03-03 47 views
-3

我想開發一個允許用戶給出擴展名的C#應用​​程序(例如:* .mp3)然後應用程序將從硬盤中刪除包含此擴展名的所有文件。我想刪除給定擴展名的文件

+2

你在哪裏卡住?你的問題是什麼? –

+0

我只需要庫,我需要使用和方法 – CrazyDeveloper

+0

使用System.IO.File.Delete –

回答

2

這僅僅是刪除與驅動器C的.msi擴展名的文件爲例,

DirectoryInfo Dr = new DirectoryInfo(@"C:\"); 
FileInfo[] files = Dr.GetFiles("*.msi").Where(p => p.Extension == ".msi").ToArray(); 
foreach (FileInfo file in files) 
    try 
    { 
     file.Attributes = FileAttributes.Normal; 
     File.Delete(file.FullName); 
    } 
    catch 
    { 
    } 

要獲得所有的擴展,在下面的代碼

public List<FileInfo> GetFiles(string path, params string[] extensions) 
{ 
    List<FileInfo> list = new List<FileInfo>(); 
    foreach (string ext in extensions) 
     list.AddRange(new DirectoryInfo(path).GetFiles("*" + ext).Where(p => 
       p.Extension.Equals(ext,StringComparison.CurrentCultureIgnoreCase)) 
       .ToArray()); 
    return list; 
} 
1

認沽需要路徑和使用foreach和File.Delete。

使用

var files = System.IO.Directory.GetFiles(path, "*.txt"); 
0

您可以使用Directory.EnumerateFiles(string path, string searchPattern, SearchOption searchOption)

var files = Directory.EnumerateFiles(directoryPath, "*.mp3", SearchOption.AllDirectories); 
foreach (var item in files) 
{ 
    try 
    { 
     File.Delete(item); 
    } 
    catch (Exception) 
    { //log exception} 
}