2016-10-27 3 views
0

私はかなり新しいC#のコードです。私は、フォルダに不在時に警告するコードをセットアップしようとしています。現在のフォルダとアーカイブフォルダがあります。ファイルが現在のフォルダで処理されると、アーカイブフォルダに移動します。 私は簡単な部分は、ファイルは私が最後のタイムスタンプを取得するための追加のステップが欲しい存在していないロジックにそうC#コンソールアプリケーション - フォルダ内の非アクティブ

 DirectoryInfo id = new DirectoryInfo(@"C\"); 
     FileInfo[] TXTFiles = id.GetFiles("*.txt"); 
     if (TXTFiles.Length == 0) 
     { 
      Console.WriteLine("Files does not "); 
      Console.WriteLine("Checking the last processed file in the Archive directory"); 
      Console.Read(); 
     } 
     if (TXTFiles.Length != 0) 
     { 
      Console.WriteLine("Files exists "); 
      Console.Read(); 
     } 

の現在のフォルダ内のファイルがあるかどうかを確認するためのコードを持っています処理されたテキストファイル。これは、どのアクティビティがあったかを確認することです。 どのように進むかわかりません。また、代わりにコンソールにこの情報を書き込むの私がWebサービスにメッセージを送ることができます

おかげ

+0

最後にアーカイブフォルダを確認することができます。各アクションとタイムスタンプを保存するログファイルを作成することができます。最後のレコードはチェックするものです。このようなデータを格納するには、データベースまたはxmlファイルを使用できます。そして、はい、Webサービスにあなたのデバッグメッセージを送ることができます、それはボックスのような機能の実装を持っているlog4netを見てください。 – oleksii

答えて

0

FileSystemWatcherは、MSDNからあなたの友人:)

https://msdn.microsoft.com/fr-fr/library/system.io.filesystemwatcher(v=vs.110).aspx

using System; 
using System.IO; 
using System.Security.Permissions; 

public class Watcher 
{ 

    public static void Main() 
    { 
    Run(); 

    } 

    [PermissionSet(SecurityAction.Demand, Name="FullTrust")] 
    public static void Run() 
    { 
     string[] args = System.Environment.GetCommandLineArgs(); 

     // If a directory is not specified, exit program. 
     if(args.Length != 2) 
     { 
      // Display the proper way to call the program. 
      Console.WriteLine("Usage: Watcher.exe (directory)"); 
      return; 
     } 

     // Create a new FileSystemWatcher and set its properties. 
     FileSystemWatcher watcher = new FileSystemWatcher(); 
     watcher.Path = args[1]; 
     /* Watch for changes in LastAccess and LastWrite times, and 
      the renaming of files or directories. */ 
     watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite 
      | NotifyFilters.FileName | NotifyFilters.DirectoryName; 
     // Only watch text files. 
     watcher.Filter = "*.txt"; 

     // Add event handlers. 
     watcher.Changed += new FileSystemEventHandler(OnChanged); 
     watcher.Created += new FileSystemEventHandler(OnChanged); 
     watcher.Deleted += new FileSystemEventHandler(OnChanged); 
     watcher.Renamed += new RenamedEventHandler(OnRenamed); 

     // Begin watching. 
     watcher.EnableRaisingEvents = true; 

     // Wait for the user to quit the program. 
     Console.WriteLine("Press \'q\' to quit the sample."); 
     while(Console.Read()!='q'); 
    } 

    // Define the event handlers. 
    private static void OnChanged(object source, FileSystemEventArgs e) 
    { 
     // Specify what is done when a file is changed, created, or deleted. 
     Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType); 
    } 

    private static void OnRenamed(object source, RenamedEventArgs e) 
    { 
     // Specify what is done when a file is renamed. 
     Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath); 
    } 
} 

ソースコードになります。

関連する問題