問題タブ [filesystemwatcher]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .NET filesystemwatcher - ファイルですか、それともディレクトリですか?
ファイルまたはディレクトリが削除されたかどうかを FSW で判断する方法はありますか?
vb.net - FileSystemWatcherが機能していません
FileSystemWatcher
私は次のようにForm1_Loadに追加しました:
単純なMessageBoxであるOnChanged関数があります。それでも、status.txt
ファイルを変更すると、メッセージボックスが表示されません。
linux - アプリケーションをインストールする前/後に加えられた変更を確認していますか?
Linux では、ソース コードからアプリケーションをコンパイルおよびインストールした後に、どのファイルが追加/変更/移動/削除されたかを知る必要があります。コマンドライン、Linux では従来のInCtrl5に相当します。
これを行うユーティリティ、または実行して変更を表示できる一連のコマンドはありますか?
ありがとうございました。
編集:次のコマンドはまあまあですが、変更が発生した行番号や「./..」が更新された行番号を知る必要はありません。
c# - FileSystemWatcherを使用してディレクトリを監視し、それを適切に削除できるようにするにはどうすればよいですか?
このコードを考えてみましょう:
興味深いことに、これはUnauthorizedAccessExceptionをにスローしDirectory.GetDirectories(dir)
ます。
監視対象のディレクトリを削除するとエラーは発生しませんが、Directory.Exists()はtrueを返し、ディレクトリは引き続き一覧表示されます。さらに、ディレクトリにアクセスすると、どのプログラムでも「アクセスが拒否されました」という結果になります。FileSystemWatcherを使用する.NETアプリケーションが終了すると、ディレクトリは消えます。
ディレクトリを適切に削除しながら、ディレクトリを監視するにはどうすればよいですか?
c# - C#:FileSystemWatcherを使用したコピーまたは移動されたファイルの監視
私はここやウェブ全体でいくつかの「解決策」に出くわしましたが、どれも法案に適合していないようです。
私が探しているのは、アプリに新しいファイルのフォルダーを監視させ(作成、移動、またはコピーのいずれかによって)、それらのオブジェクトに対してアクションを実行させることです。それがシナリオであるため、このアクションを実行するためにFileSystemWatcherクラスを使用しました。
問題は、ファイル全体が作成される前にファイルFileSystemWatcher.Createdイベントが発生することです(大きなファイルのコピーを通して最も顕著に見られます)。
ファイル作成の最初ではなく、最後にこのイベントを発生させる方法はありますか?FileSystemWatcher.NofityFilterプロパティのさまざまな組み合わせを試しましたが、成功しませんでした。
前もって感謝します!:)
c# - FileSystemWatcher は、ロックされたファイルの変更を報告しません
次のような FileSystemWatcher を使用してフォルダーを監視しています。
そのフォルダーのメモ帳で新しいファイルを開いて保存すると、通知が表示されます。書き続けて保存すると、通知が届きます。ファイルを保存して閉じると、通知が表示されます。まさに私が欲しかったもの。
ただし、そのフォルダーにファイルを作成し、その共有モードを FileShare.Read に設定して書き込みを行うと、ファイルが閉じられるまで通知が届かないことがわかりました。もう 1 つの回避策は、(メモ帳などで) ファイルを開くことです。これにより、ファイルの状態が明らかに更新され、監視アプリケーションが通知を受け取ります。さらに別の回避策は、Windows エクスプローラーで実行できる更新です。これにより、ファイルの状態が更新されます。
興味深いことに、変更中に Windows エクスプローラーを見ると、次のことがわかります。
- ファイルが読み取りと書き込みのために共有されている場合、ファイルを保存するとすぐに、そのサイズが Windows エクスプローラーですぐに更新されます。
- ファイルが読み取り専用で共有されている場合、ウィンドウを手動で更新しない限り、そのサイズは Windows エクスプローラーですぐには更新されません。
したがって、私の監視アプリケーションは、Windows エクスプローラーと同じ動作を共有しているようです。フォルダー内のファイルをスキャンするだけのスレッドを実行することを考えていましたが、この場合、もっと洗練された方法があるかどうか疑問に思っています。
ところで、私は Win7 を使用していますが、この問題が他の Windows バージョンでも発生するかどうかはわかりません。
ありがとう!
編集: C++ で ReadDirectoryChanges を使用すると、まったく同じ結果が得られました。先ほど話したスレッドの実装も役に立ちませんでした。Windows エクスプローラーで F5 キーを押すと、変更が報告されるため、実際に何をしているのか気になります。
c# - File.OpenRead でファイルを開くときの System.IOException
内容を解凍するためにファイルを開くと、次の例外が発生します。Windows エクスプローラーでファイルを選択するか、ファイルの上にマウスを置いてツールチップを表示すると発生します。
ファイルが使用されなくなるまで待ってから読み取る方法はありますか? 基本的に、新しい zip ファイルのフォルダーを監視し、zip ファイルの内容を解凍してから削除します。
イベント ハンドラー:
c# - C# で読み込まれたファイルを検出する
FileSystemWatcher を使用して、ファイルがいつ変更または削除されたかを確認していますが、ファイルが別のアプリケーションによっていつ読み取られたかを確認する方法があるかどうか疑問に思っています。
例: ハードドライブにファイル C:\test.txt があり、FileSystemWatcher を使用して監視しています。別のプログラム (私の制御下にない) がそのファイルを読み取ります。そのイベントをキャッチし、可能であれば、ファイルを読み取っているプログラムを確認し、それに応じてファイルの内容を変更したいと思います。
asp.net - ASP.net Response.Redirect on FileSystemWatcher イベント
新しい FileSystemWatcher イベントで Response.Redirect (または Response.Write) を使用できません。
c# - C# でシステム ファイルをフィルター処理する方法
FileSystemWatcher
ファイルシステムの変更を追跡するために使用しています。しかし、顧客はシステム ファイルの変更記録を望んでいません。彼は「ユーザーによって変更された」レコードが必要なだけです。これどうやってするの?