2016-01-22 27 views
0

這裏是一個場景: 我將文件複製到文件夾 ,我期望它被其他程序佔用。X文件夾中的文件

是有辦法監控文件存在文件夾中

我想提高的情況下,該文件夾中在X時間事件的時間

請指教一下我可以使用實現這一

我想到使用文件系統觀察和節省時間的它創造 如果X時間

+0

https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher(v=vs.110).aspx可以幫助你 –

+2

[固定鏈接]( https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396)@ un-lucky發佈。 – krillgar

+1

如果您已經嘗試使用'FileSystemWatcher',您能否向我們展示您的代碼,並解釋您仍然存在的任何特定問題? –

回答

0

如果您只關心超時時間,那麼只需在複製後檢查它。例如。使用Timer

var timer = Timer(5000); 
timer.Elapsed += (s, a) => 
{ 
    // checking if file is still there 
    if(File.Exists(...) 
    { 
     // do something 
    } 
} 
timer.Start(); 
+0

經過一番調查後,似乎這個解決方案是最相關的。更正確的方法,只需檢查X時間後文件是否存在,謝謝! –

0

後的文件是否存在取決於你需要如何精確是比較,你可能只是有一個過程每隔一段時間檢查文件夾的內容,並讓您知道文件夾中已存在的文件太長的文件。

0

要列出目錄中的文件,您可以使用Directory.GetFiles,如下所示。 然後遍歷所有檢查文件時間的文件。

string[] files = System.IO.Directory.GetFiles("c:\temp", "*.txt", System.IO.SearchOption.TopDirectoryOnly); 
    foreach(string file in files) 
    { 
     if (System.DateTime.UtcNow.Subtract(System.IO.File.GetCreationTimeUtc(file)).TotalMinutes > 5) 
      System.Diagnostics.Debug.WriteLine("TODO: Alert, file older than 5 minutes..."); 
    } 
相關問題