我在我的应用程序中有这样一个场景,我想搜索一个有时间戳的文件名,我做了如下:
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创建的文件。
发布于 2013-09-13 10:00:36
这应该是可行的:
var files = new DirectoryInfo("C:\\ScriptLog")
.EnumerateFiles("*.log")
.Where(x => x.CreationTime.Hour >= DateTime.Now.Hour);
if (files.Any() != null)
{
// tasks
}发布于 2013-09-13 10:00:16
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
}
}发布于 2013-09-13 10:22:46
对于我来说,你应该得到整个目录的文件列表,然后检查时间戳。如果只想检查当前时间,则代码如下所示:
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
https://stackoverflow.com/questions/18783323
复制相似问题