我手头有两项任务
C:\Temp
和我使用下面的代码得到了第一个项目,感谢Stack Overflow中的朋友。
var imgFiles = (from f in directory.GetFiles(fileType,SearchOption.AllDirectories)
orderby f.LastWriteTime descending
select f).Take(numberOfFilesToFetch).ToArray();
我需要点 2的帮助。一些示例C#代码将非常有用。
答案 0 :(得分:2)
如果您只需要删除我建议的文件,您只能获取要删除的文件列表,那么您可以使用跳过而不是获取
其他aproach再次使用取消调用 GetFiles ,如果您不需要在删除过程中忽略的文件列表,则效率不高
var filesToBeDeleted = (from f in Directory.GetFiles(fileType,SearchOption.AllDirectories)
orderby f.LastWriteTime descending
select f).Skip(numberOfFilesToFetch).ToArray();
foreach (var file in filesToBeDeleted)
{
file.Delete();
}
string [] subdirectoryEntries = Directory.GetDirectories("c:\\temp");
foreach(string dir in subdirectoryEntries)
{
Directory.Delete(dir) ;
}
我建议你为删除操作添加一个try,catch
答案 1 :(得分:0)
foreach (var file in directory.GetFiles().Except(imgFiles))
{
file.Delete();
}
答案 2 :(得分:0)
var filesToBeDeleted = directory.GetFiles(fileType, SearchOption.AllDirectories)
.Except(imgFiles).ToArray();
for (int i = filesToBeDeleted.Length; i >= 0; i--)
filesToBeDeleted[i].Delete();