首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有时间戳的搜索文件

具有时间戳的搜索文件
EN

Stack Overflow用户
提问于 2013-09-13 09:53:54
回答 3查看 683关注 0票数 1

我在我的应用程序中有这样一个场景,我想搜索一个有时间戳的文件名,我做了如下:

代码语言:javascript
运行
复制
 if (System.IO.File.Exists("C:\\ScriptLog\\ScriptLog_" + DateTime.Now.ToString("dd_MM_yyyy_HH") + ".log") == true)
 {
   //tasks
 }

但这似乎不是working...Can,请大家支持这个吗?

我想要的是我应该能够搜索在那个小时内创建的文件。假设现在的时间是10:43:04,那么到现在我应该能够检查10:00创建的文件。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-13 10:00:36

这应该是可行的:

代码语言:javascript
运行
复制
var files = new DirectoryInfo("C:\\ScriptLog")
    .EnumerateFiles("*.log")
    .Where(x => x.CreationTime.Hour >= DateTime.Now.Hour); 

if (files.Any() != null)
{
    // tasks
}
票数 1
EN

Stack Overflow用户

发布于 2013-09-13 10:00:16

代码语言:javascript
运行
复制
var files = Directory.GetFiles("C:\\ScriptLog\\", "*.log");
foreach(var file in files)
{
    var fileInfo = new FileInfo(file);
    if(fileInfo.CreationTime >= /*your date here*/)
    {
        //This is the file you are searching for
    }
}
票数 2
EN

Stack Overflow用户

发布于 2013-09-13 10:22:46

对于我来说,你应该得到整个目录的文件列表,然后检查时间戳。如果只想检查当前时间,则代码如下所示:

代码语言:javascript
运行
复制
string[] ListFiles = System.IO.Directory.GetFiles("C:\\ScriptLog\\", "*.log*");
string currHour = DateTime.Now.ToString("HH");

foreach (string s in ListFiles)
{
   if (s.EndsWith(currHour + ".log"))
   {
      //tasks
   }
}

J

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18783323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档