2

重複の可能性:
ファイル システム ディレクトリを監視して、いつファイルが追加されたかを確認するにはどうすればよいですか?

私はc#でコンソールアプリを作成しています。その機能の1つは、修正フォルダーパス(例c:\FixedFolderA)を毎分スキャンし、新しいフォルダーが作成されたかどうかを確認することです(例c:\FixedFolderA\NewFolderB)。

したがって、c:\FixedFolderA の下にいくつかのフォルダーが作成されます。

新しいフォルダーにはサブディレクトリがなく、他の場所にコピーするファイルだけがあります。

これを行うための最も効率的な設計がわからないので、あなたの助けが必要です.

私はこのワークフローを考えていました:

  1. プログラムの開始時に c:\FixedFolderA をスキャンします。
  2. すべてのサブディレクトリをリストに格納します。
  3. c:\FixedFolderA をスキャンするワーカー プロセスを作成し、そのサブディレクトリがリストに存在するかどうかを確認します。ディレクトリが存在しない場合は、何らかのアクションを実行します。

私の懸念は、c:\FixedFolderA 内のサブディレクトリの数が時間の経過とともに増加し、プログラムがこれらすべてのディレクトリを毎分トラバースすることです。

毎分チェックするルーチンをプロセスで実行する必要がありますか?

誰かが私を始めるためにあなたのアイデアを最高のデザインと共有してもらえますか?

ありがとう 。

4

3 に答える 3

1

フォルダーの変更を監視する場合は、FileSystemWatcherクラスを使用します。

また、このコンソール アプリケーションがそれ自体で特定のタスクを実行する場合は、おそらくそれをWindows Serviceにするのが最善です。

于 2013-01-27T17:50:19.440 に答える
0

ディレクトリを毎分スキャンするのではなく、File System Watcherを詳しく調べる必要があります。これにより、ディレクトリ構造に変更が加えられたときに通知されるため、はるかに効率的になります。プログラムは、どのような変更が行われたかを追跡する必要があります。

于 2013-01-27T17:49:08.513 に答える