DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Tipsのファイル監視について

環境/言語:[winXP VB.NET 2003 Framework1.1]
分類:[.NET]

Tipsのファイル監視について質問です。
ファイルが作成されたときは、Createdイベントが発生したり、サイズが変更された場合は、Changeイベントが発生しますが、監視しているフォルダにサイズの大きいファイルが
コピーされてきたときコピーが完了したというようなことがわかるような方法はないので
しょうか? コピー中にファイルをさわり処理をしないようにしたいのですがそのような方法があれば教えてください。お願い致します。
# 直接の回答ではありません。

> コピーされてきたときコピーが完了したというようなことがわかるような方法はないので
> しょうか? コピー中にファイルをさわり処理をしないようにしたいのですがそのような方法があれば教えてください。お願い致します。

以下、コピー完了の判断とは、ちょっと異なる方法なのですが…。

たとえば、『C:\DATA\ フォルダに、*.CSV ファイルができるのを監視する仕様』
といった場合、私は、csv ファイルをそこに直接コピーあるいは作成するのでは
なく、そのフォルダには、*.TMP などの別名でコピー/作成するようにして、
書き込みが完了した段階で、*.csv にリネームするといった運用にしています。

これなら、監視側のプログラムが、書き込み途中の csv ファイルを
操作してしまうことも無いかな、と。
■No15106に返信(魔界の仮面弁士さんの記事)
> # 直接の回答ではありません。
>
>>コピーされてきたときコピーが完了したというようなことがわかるような方法はないので
>>しょうか? コピー中にファイルをさわり処理をしないようにしたいのですがそのような方法があれば教えてください。お願い致します。
>
> 以下、コピー完了の判断とは、ちょっと異なる方法なのですが…。
>
> たとえば、『C:\DATA\ フォルダに、*.CSV ファイルができるのを監視する仕様』
> といった場合、私は、csv ファイルをそこに直接コピーあるいは作成するのでは
> なく、そのフォルダには、*.TMP などの別名でコピー/作成するようにして、
> 書き込みが完了した段階で、*.csv にリネームするといった運用にしています。
>
> これなら、監視側のプログラムが、書き込み途中の csv ファイルを
> 操作してしまうことも無いかな、と。

回答ありがとうございます。返信がおくれてすいません。
やはり完了を知る方法はないみたいですね。今では、別ファイルをフラグ代わりに作成
して処理を行っていてかなり面倒だったので、イベントみたいに知る方法はないかと思
いました。上記の方法の方が容易に処理できるのでそちらにして処理を行いたいと思い
ます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板