[前の記事]« 「goto %1」のMeとXPでの違いについて
[次の記事]バッチ処理で必要なパスワードを別ファイルにして管理するには »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「こんなことは可能ですか?」索引へ
▲カテゴリー「バッチファイルの起動、引数の取得」索引へ

ファイル生成を監視してバッチを走らせることは可能?

372.
ファイル生成と同時にバッチを走らせることは可能?
2005年04月11日(月) 12時56分
yukasu
はじめまして。よろしくお願いします。
Windowsのバージョンは2000です。

今、"あるフォルダの中にcsvファイルが追加されたらバッチを走らせたい"
と考えているのですが、こんなことって可能ですか?

具体的に望んでいることとしては
オラクルでSQLを流す→フォルダaにcsvファイル生成→
バッチが走る→別のフォルダbにcsvファイル移動
という感じです。
ただ、こんなことが出来るのか&出来たとして何を使ったらいいか、
というのが全く見当もつかないので、
取っ掛かりだけでも教えていただけると幸いです。
よろしくお願いします。
376.
Re:ファイル生成と同時にバッチを走らせることは可能?
2005年04月11日(月) 17時52分
otn
>はじめまして。よろしくお願いします。
>Windowsのバージョンは2000です。

>今、"あるフォルダの中にcsvファイルが追加されたらバッチを走らせたい"
>と考えているのですが、こんなことって可能ですか?

>具体的に望んでいることとしては
>オラクルでSQLを流す→フォルダaにcsvファイル生成→
>バッチが走る→別のフォルダbにcsvファイル移動
>という感じです。
>ただ、こんなことが出来るのか&出来たとして何を使ったらいいか、
>というのが全く見当もつかないので、
>取っ掛かりだけでも教えていただけると幸いです。
>よろしくお願いします。

「ファイル待ち」や「ファイルトリガ」で検索するとサーバー運用監視ソフトの情報が引っかかりますが、このあたりの製品ソフトは最低でも数十万円コースだと思います。

Vectorのそれっぽいところを見てみると、
http://www.vector.co.jp/vpack/browse/pickup/pw6/pw006212.html
というフリーソフトが見つかりました。レビュー内容を読む限りお望みのことは出来そうです。監視間隔が1分以上ということなんで瞬時の対応はできませんね。

要件がファイルの移動だけとして、バッチだけでやるとすると、

cd %FOLDER-A%
:loop
if exist *.csv move *.csv %FOLDER-B%
rem 10 秒待つ
ping -n 11 127.0.0.1 >NUL
goto loop

ちょうどファイル作成中のようなタイミングで検知すると書いている途中のファイルを処理してしまうかもしれませんが、多分オープン中のファイルのmoveは失敗して、次回のループで処理されるでしょう。
377.
Re2:ファイル生成と同時にバッチを走らせることは可能?
2005年04月12日(火) 10時09分
yukasu
otnさんありがとうございました。
ちょっと説明不足でしたが、ファイル移動だけ出来れば
後の部分は問題ないです。
言葉足らずで申し訳ありません。

バッチの文は何とか実行することが出来ました。
作り終わってからやっと意味が分かりました^^;
ありがとうございます。

ただ、まだちょっと分かっていないことが・・・
フォルダaの直下にフォルダが複数あり、
そのフォルダ内にcsvファイルがあった場合は取れませんでした。
サブフォルダは見に行ってくれないものなのでしょうか?
378.
Re3:ファイル生成と同時にバッチを走らせることは可能?
2005年04月12日(火) 17時25分
otn
>フォルダaの直下にフォルダが複数あり、
>そのフォルダ内にcsvファイルがあった場合は取れませんでした。
>サブフォルダは見に行ってくれないものなのでしょうか?

サブフォルダーが少数ならば、

cd %FOLDER-A%
:loop
if exist *.csv      move *.csv      %FOLDER-B%
if exist SUB1\*.csv move SUB1\*.csv %FOLDER-B%\SUB1
if exist SUB2\*.csv move SUB2\*.csv %FOLDER-B%\SUB2
if exist SUB3\*.csv move SUB3\*.csv %FOLDER-B%\SUB3
rem 10 秒待つ
ping -n 11 127.0.0.1 >NUL
goto loop

のようにすれば良いと思います。サブフォルダが非常に多数だったり、サブフォルダ構成も動的に変わるようだと、定期的に動く部分が重くなりすぎてちょっと大変ですね。
379.
Re4:ファイル生成と同時にバッチを走らせることは可能?
2005年04月12日(火) 17時47分
yukasu
otnさん、ありがとうございます。

まだはっきりと決まっていないのですが、
サブフォルダは動的に変わると思います。
振り分け条件も多そうだし。
そうするとバッチの方法自体を考えなおさないといけないのかもしれませんね。
#そもそもこれが必須機能かどうかもはっきり決まっていないのですが^^;

でも、とても勉強になりました。
ありがとうございました。
 
 


カテゴリー「こんなことは可能ですか?」索引へ
カテゴリー「バッチファイルの起動、引数の取得」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2005年04月11日 14:40に投稿されたエントリーのページです。

ひとつ前の投稿は「「goto %1」のMeとXPでの違いについて」です。

次の投稿は「バッチ処理で必要なパスワードを別ファイルにして管理するには」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート