- PR -

FileSystemWatcherで大きなファイルを監視するには?

1
投稿者投稿内容
maru
常連さん
会議室デビュー日: 2001/10/09
投稿数: 23
投稿日時: 2002-08-30 00:08
FileSystemWatcherを使用してサーバー側で
指定されたディレクトリにファイルをコピーすると
自動的にファイルを印刷するプログラムが作れないかと試しています。

ファイルサイズが大きい場合にCreatedがファイルをコピーする最初に発生してしまうため、そのイベントでコピー中のファイルを印刷しにいってしまい印刷できません。

ファイルコピー終了後に処理を実行するにはどのように設定するべきか
アドバイスをいただけないでしょうか?

[ メッセージ編集済み 編集者: maru 編集日時 2002-08-30 00:16 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-08-30 13:14
引用:

maruさんの書き込み (2002-08-30 00:08) より:
ファイルサイズが大きい場合にCreatedがファイルをコピーする最初に発生してしまうため、そのイベントでコピー中のファイルを印刷しにいってしまい印刷できません。

ファイルコピー終了後に処理を実行するにはどのように設定するべきか
アドバイスをいただけないでしょうか?




 最初のイベントが発生した後、Timerイベントを生成し定期的にファイルのサイズを調べて、サイズの変化がなくなってから印刷・・・っていうのはどうでしょう?
maru
常連さん
会議室デビュー日: 2001/10/09
投稿数: 23
投稿日時: 2002-09-02 13:16
コメントありがとうございます
ファイルのコピー完了を取得する方法はないようですね
ウェブシステムでかつ大量の帳票出力が必要なときに便利かなと考えていたのですが
ツールというよりはRDBと組み合わせて
1.ファイル作成
2.ファイル印刷ジョブ登録
3.サーバー側プログラムがジョブをチェックして印刷
4.完了ジョブの削除
のように作成する必要がありそうですね。
Valhalla
ベテラン
会議室デビュー日: 2002/09/03
投稿数: 53
投稿日時: 2002-09-03 13:52
十分なテストをしたわけではないですが、

NotifyFilters.LastWrite

をパラメータで指定した場合、コピー完了直後にイベントが来るようなので、
(私の環境では計3回イベントが来ましたが)、このイベントが来るたびに
ファイルを開こうとして、うまくいったら完了とみなすというのはどんなも
んでしょう。
1

スキルアップ/キャリアアップ(JOB@IT)