2009-07-13 12 views
11

मैं कैसे जांच सकता हूं कि पिछले x घंटों में कोई फ़ाइल बनाई गई है या नहीं? 23 घंटे की तरह आदि सी # 3.0 का उपयोग करना।जांचें कि फ़ाइल पिछले एक्स घंटों के भीतर बनाई गई है

नोट: अगर मैं अब फ़ाइल बनाउंगा तो यह भी काम करना चाहिए, तो फाइल अभी तक एक घंटे पुरानी नहीं होगी।

उत्तर

10

उपयोग:

System.IO.File.GetCreationTime(filename); 

फ़ाइल के निर्माण के समय प्राप्त करने के लिए, और अधिक के लिए GetCreationTime देखना विवरण और उदाहरण।

तो फिर तुम कुछ की तरह कर सकते हैं:

public bool IsBelowThreshold(string filename, int hours) 
{ 
    var threshold = DateTime.Now.AddHours(-hours); 
    return System.IO.File.GetCreationTime(filename) <= threshold; 
} 
+0

तुलना में नहीं होना चाहिए .ddHours() - यह भविष्य में बनाई गई सभी फ़ाइलों के लिए सच नहीं होगा। – iisystems

11

कुछ इस तरह ...

 FileInfo fileInfo = new FileInfo(@"C:\MyFile.txt")); 
     bool myCheck = fileinfo.CreationTime > DateTime.Now.AddHours(-23); 
+2

आप की तरह

 bool myCheck = fileinfo.CreationTime > DateTime.Now.AddHours(-23); 

+0

धन्यवाद, संपादित कुछ में पिछले 2 लाइनों गठबंधन, मुझे लगता है कि ज्यादा बेहतर पसंद है। –

2

उपयोग FileInfo वर्ग और CreationTime संपत्ति।

FileInfo fi = new FileInfo(@"C:\myfile.txt"); 
bool check = (DateTime.Now - fi.CreationTime).TotalHours < 23; 
5

आप File.GetCreationTime उपयोग कर सकते हैं और तुलना वर्तमान समय में:

private static bool IsFileOlder(string fileName, TimeSpan thresholdAge) 
{ 
    return (DateTime.Now - File.GetCreationTime(fileName)) > thresholdAge; 
} 

// used like so: 
// check if file is older than 23 hours 
bool oldEnough = IsFileOlder(@"C:\path\file.ext", new TimeSpan(0, 23, 0, 0)); 
// check if file is older than 23 milliseconds 
bool oldEnough = IsFileOlder(@"C:\path\file.ext", new TimeSpan(0, 0, 0, 0, 23)); 
+0

मुझे यह पसंद है कि यह संभावित रूप से एक ही संपत्ति को पढ़ने के लिए एक संपूर्ण FileInfo ऑब्जेक्ट के निर्माण से बचाता है। –

1
FileInfo fi = new FileInfo("c:\\file.txt"); 
    if (fi.CreationTime.AddHours(23) >= DateTime.Now) 
    { 
     //created within the last 23 hours 
    } 
संबंधित मुद्दे