簡體   English   中英

搜索帶有時間戳的文件

[英]searching file having timestamp

我的應用程序中有一個這樣的場景。我想搜索一個帶有時間戳的文件名。

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

Ĵ

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM