我有这么多目录,这些目录有这么多文件,如果目录修改日期< =文本框日期获取文件并获取number = txtnumber get filedata,我希望获取目录最后修改日期我这样做......
private void button1_Click(object sender, EventArgs e)
{
string path = @"E:\Voip Caller Record\890001";
var allfiles = System.IO.Directory.GetFiles(path, "*.*", System.IO.SearchOption.AllDirectories);
}
答案 0 :(得分:2)
您可以将目录路径传递给DirectoryInfo
的实例,并使用DirectoryInfo class
,LastWriteTime
属性来确定上次写入目录的时间(修改):
DirectoryInfo info = new DirectoryInfo("myDirPath");
if (info.LastWriteTime > someDate){
var allfiles = Directory.GetFiles(path, "*.*", System.IO.SearchOption.AllDirectories);
//do something on allfiles
}
如果是在一段时间后最后一次写入,那么按照您显示的内容获取该目录中的所有文件,然后您可以按照自己的意愿继续操作。
修改强>
如果您需要子目录而不是文件,则可以使用Directory.GetDirectories()
代替。要获取目录上次写入时间,只需执行与上面相同的操作:
var alldirs = Directory.GetDirectories("myRootPath")
.Select(x => new DirectoryInfo(x));
foreach (var dir in alldirs) {
if (dir.LastWriteTime > someDateTime) {
//do something
}
}