Я хочу удалить файлы с заданным расширением
Я хочу разработать приложение на C#, которое позволит пользователям указать расширение (пример: *.mp3), а затем приложение удалит все файлы, содержащие это расширение, с жесткого диска.
3 ответа
Решение
Это просто пример удаления файлов с расширением.msi на диске C,
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;
}
Поместите нужный путь в код ниже и используйте foreach и File.Delete.
использование
var files = System.IO.Directory.GetFiles(path, "*.txt");
Ты можешь использовать 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}
}