問題タブ [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# - C# FileSystemWatcher と FTP
ファイルシステムウォッチャーを介してftpにドロップされたファイルを監視し、別のディレクトリに移動します。今、私はファイルシステムウォッチャーの作成イベントからコピーをトリガーしますが、明らかにftpの場合、作成は単なるスタブファイルであり、データが入ってきて、アップロードが完了するまでファイルを埋めます。誰でもこれに対するエレガントな解決策を持っていますか、それとも私がしなければならないと思うことをしなければなりませんか
.net - Samba での FileSystemWatcher の不適切な動作
Windows サーバーで .NET FileSystemWatcher を使用して、Windows サーバー上のフォルダーを監視しています。また、Samba を使用して Linux サーバーから同じフォルダーにアクセスできます。監視フォルダーから別の場所にファイルをコピーすると、ソース ファイルに対して変更イベントが生成されます。この動作は正しいですか? ファイルの「最終アクセス」時刻が変更されているようです。この種の変更を無視するにはどうすればよいですか?
c# - FTP用のFileSystemWatcher
FTP の場所を実装するにはどうすればよいですかFileSystemWatcher
(C# で)。アイデアは、何かが FTP の場所に追加されるたびに、ローカル マシンにコピーしたいということです。どんなアイデアも役に立ちます。
これは、私の以前の質問Selective FTP download using .NETのフォローアップです。
c# - FileSystemWatcher を使用して移動されたファイルを検出する
FileSystemWatcher は Move イベントを提供しないことに気付きました。代わりに、同じファイルに対して個別の Delete イベントと Create イベントを生成します。(FilesystemWatcher は、ソース フォルダーと宛先フォルダーの両方を監視しています)。
しかし、実際のファイルの移動と、最近削除されたファイルと同じ名前のファイルがランダムに作成されたものとは、どのように区別すればよいでしょうか?
"AssociatedDeleteFile" などの FileSystemEventArgs クラスのある種のプロパティは、削除されたファイル パスが移動の結果である場合は割り当てられ、それ以外の場合は NULL が割り当てられます。しかし、もちろんこれは存在しません。
また、FileSystemWatcher は基本的なファイルシステム レベルで動作しているため、「移動」の概念はより高いレベルのアプリケーションにとってのみ意味があることも理解しています。しかし、これが事実である場合、私のアプリケーションでこの状況を処理するために、どのような種類のアルゴリズムが推奨されるでしょうか?
フィードバックに基づく更新:
FileSystemWatcher クラスは、ファイルの移動を、元のファイルの削除とそれに続く新しい場所での作成という 2 つの異なるイベントとして認識しているようです。
残念ながら、これらのイベント間に「リンク」が提供されていないため、ファイルの移動と通常の削除または作成を区別する方法が明確ではありません。OS レベルでは、移動は特別に扱われ、たとえば 1GB のファイルをほぼ瞬時に移動できます。
イベント間でファイルを確実に識別するためにファイルのハッシュを使用することを提案したいくつかの回答があり、私はおそらくこのアプローチを採用します。しかし、より簡単に動きを検出する方法を誰かが知っている場合は、答えを残してください.
c# - FileSystemWatcher イベントを引き起こしたのはどのユーザーですか?
たとえば、フォルダー ツリー内のさまざまなファイルの削除イベントをキャッチできますが、どのユーザーが削除を実行したかを特定するにはどうすればよいでしょうか?
FileSystemWatcher の MSDN ドキュメントには明らかなものが見つからなかったので、おそらくそれは不可能です。ただし、解決策がある場合は興味があります。
c# - FileSystemWatcher が Vista (64 ビット) でローカル ユーザー フォルダーまたは一時インターネット ファイル フォルダーを監視しない
c:\users[username]\Pictures を指す Picture フォルダーと、同じユーザーの一時インターネット ファイル フォルダーを監視するテスト プログラムを作成しました。これは、フォルダーを d:\persona_pics などの別の場所に変更すると、プログラムは完全に正常に動作します。上記のフォルダーを監視するように設定したときに、イベントが発生しない理由はありますか?
これがコードです。
作業コード..
class Program { static void Main(string[] args) {
c# - FileSystemWatcherはExcelの名前を付けて保存を認識しません
Windowsサービスとして実行されているFileSystemWatcherを使用する単純なアプリがあります。ファイルは、ExcelVBマクロを介してディレクトリに保存されます。
新しいファイルを作成すると、ウォッチャーはファイルを処理するためのメソッドを呼び出します
ウォッチャーアプリは、これが発生したときにイベントを登録することはありませんが、ファイルを手動で削除してフォルダーに再度追加すると、イベントが発生します。
ファイルがディレクトリに保存されたときに期待される動作を取得する方法を知っている人はいますか?
c# - 多数のファイルが同時にディレクトリに追加されると、FileSystemWatcher が正しく機能しない
多くのファイルが同時にディレクトリに追加されると、FileSystemWatcher が正しく動作しません...
ウォッチャーは、ディレクトリ内のすべてのファイルを見つけるわけではありません-ファイルが1つずつフォルダーに配置されている場合のみ-多くのファイルが同時にフォルダーにコピーされている場合ではありません...
スレッドの作成は問題の解決策ですか、それとも問題を処理する別の方法はありますか?
events - VBAマクロでファイルが変更されたことを確認するにはどうすればよいですか?
VBA(基本的にVB6)でファイルを監視して、ファイルがいつ変更されたかを知る方法はありますか?--これと同様に、ファイルがいつ使用されていないのか、いつ変更されているのかを知りたくありません。
私が見つけた答えは、「FileSystemWatcher」とWin32API「FindFirstChangeNotification」の使用を推奨しています。これらの使い方がわかりませんが、何か考えはありますか?