我想开发一个允许用户提供扩展的C#应用程序(例如:* .mp3)然后应用程序将从硬盘中删除包含此扩展名的所有文件。
答案 0 :(得分: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 :(得分:1)
在下面的代码中放置所需的路径并使用foreach和File.Delete。
使用
var files = System.IO.Directory.GetFiles(path, "*.txt");
答案 2 :(得分: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}
}