0

過去 24 時間に、特定のディレクトリ内のすべてのファイルとそのすべてのサブディレクトリで、作成または削除ではなく、変更をスキャンするプログラムを作成しています。私は他の多くの例/チュートリアルを見てきましたが、それらのすべてが私が探していることを行うわけではありません.

これまでの私のコードは次のとおりです。

using System.IO;

public static void Main(string[] args)
{
    string myDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), @"C:\Path");
    var directory = new DirectoryInfo(myDirectory);
    DateTime from_date = DateTime.Now.AddDays(-1);
    DateTime to_date = DateTime.Now;
    var files = directory.GetFiles()
                         .Where(file => file.LastWriteTime >= from_date && file.LastWriteTime <= to_date)
                         .ToArray();

    Console.WriteLine();
}

問題は、上記のコードがディレクトリ内の最後の変更のみを通知することです。私が欲しいのは、ディレクトリ内のすべての変更のログです。

私は勉強中の学生なので、たくさんの説明があれば最高です!:)

私はそうではありません。繰り返しますが、FileSystemWatcher を探しています。サーバーを 24 時間連続で稼働させたくありません。このプログラムを 24 時間ごとに開始し、ログを作成して閉じます。誰かがこれで私を助けてくれたり、少なくとも私に何かを与えることができれば、とても感謝しています!

編集

私は最終的に、別のコード、まったく異なるコードを介して作業することを目標にしています。私を助けてくれて、いくつかのことについて理解を深めてくれてありがとう

4

4 に答える 4

0

がないと、FileSystemWatcher違いを比較するために使用する外部ファイルが必要になります。

したがって、最初の実行では、

ファイル 1
ファイル 2
ファイル 3

変化なし!

あなたが得るかもしれない次の実行

ファイル 1
ファイル 3
ファイル 4

最初のリストを比較して、ファイル 2 が欠落しており、ファイル 4 が新しいことを示すことができます...

于 2013-09-19T12:22:56.237 に答える