我希望能够查询文件夹(和子文件夹)并获取满足特定属性的某些条件的文件列表...例如,所有文件都包含:
在c:\ somefolder下
file_extension =“。abc”
在x和y KB之间的文件大小
(文件名如'%this'或文件名如'%that%'和文件名不像'%somethingelse%'
date1和date2之间的修改日期
这种事情是否可以使用LINQ,语法是什么样的?
答案 0 :(得分:2)
是。语法类似于:
var files = from file in new DirectoryInfo(@"c:\some_folder")
.GetFiles("*.abc", SearchOption.AllDirectories)
let lengthInKb = file.Length / 1024D
let name = file.Name
let modifiedDate = file.LastWriteTime.Date
where (lengthInKb >= x && lengthInKb <= y)
&& (name.EndsWith("this") || name.Contains("that"))
&& !name.Contains("somethingelse")
&& (modifiedDate >= date1 && modifiedDate <= date2)
select file;