搜索文件并删除它,不知道路径C#



我一直在做一个学校项目,有点陷入困境。我一直在尝试写这样的东西,但它不起作用。有没有什么方法可以查找文件,删除它,但不知道文件的确切路径?

var files = new List<string>();

foreach (DriveInfo d in DriveInfo.GetDrives().Where(x => x.IsReady == true))
{
files.AddRange(Directory.GetFiles(d.RootDirectory.FullName, "x.jpg", SearchOption.AllDirectories));
}
if (File.Exists(files)) 
{
File.Delete(files);
}

您的问题是

if (File.Exists(files)) 
{
File.Delete(files);
}

文件不是文件路径,而是它们的列表

你需要做

foreach(var file in files)
{
if (File.Exists(file)) 
{
File.Delete(file);
}
}

做同样事情的一个更简单的方法是

var files = from d in DriveInfo.GetDrives()
where d.IsReady
from f in d.RootDirectory.EnumerateFiles("x.jpg",SearchOption.AllDirectories)
select f;
foreach(var file in files)
{
if (file.Exists) 
{
file.Delete();
}
}

相关内容

最新更新