搜索具有时间戳的文件

本文关键字:文件 时间戳 搜索 | 更新日期: 2023-09-27 18:31:14

我的应用程序中有这样的场景。我想搜索带有时间戳的文件名。我做了这样的:

 if (System.IO.File.Exists("C:''ScriptLog''ScriptLog_" + DateTime.Now.ToString("dd_MM_yyyy_HH") + ".log") == true)
 {
   //tasks
 }

但这似乎不起作用...任何人都可以支持这一点吗?

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

搜索具有时间戳的文件

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
    }
}

这应该有效:

var files = new DirectoryInfo("C:''ScriptLog")
    .EnumerateFiles("*.log")
    .Where(x => x.CreationTime.Hour >= DateTime.Now.Hour); 
if (files.Any() != null)
{
    // tasks
}
对我来说

,您应该获取整个目录的文件列表,然后检查时间戳。如果您只想检查当前小时,则代码将如下所示:

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