[前の記事]« FTPで自動アップロード/ダウンロードするには?
[次の記事]callのパイプ処理で環境変数への代入が消滅してしまう »

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

▲カテゴリー「PAUSE,CHOICE…キー入力待ち/時間待ち」索引へ

バッチファイルの定期実行

16) Batの定期実行 とっぽ 2002/02/25(月) 13:59


教えてください。

複数のPCで、処理を分散させているのですが、
全部のPCの結果を中心になるPCで、さらに処理を継続
させる物を考えています。

それぞれのPCは、処理完了のファイルを作成するようにしているのですが
その後、引き続き処理をさせる方法を考えています。
このとき、ファイルができているかは、
IF文で、確認できるので、Batのでやろうかと、考えていたんですが
Batの起動方法で悩んでいます。
ATコマンドも考えたのですが、曜日毎とか、一日一回の
起動を作るのは、解ったのですが、5分毎とかに実行させる
方法が解りません。

いい方法を知っている方、お知恵をお借りできませんか??


23) Re:Batの定期実行 SYSOP 2002/02/28(木) 00:42

http://www.vector.co.jp/soft/dos/util/se053514.html

とっぽさん こんにちは。

>それぞれのPCは、処理完了のファイルを作成するようにしているのですが
>その後、引き続き処理をさせる方法を考えています。
>このとき、ファイルができているかは、
>IF文で、確認できるので、Batのでやろうかと、考えていたんですが
>Batの起動方法で悩んでいます。
>ATコマンドも考えたのですが、曜日毎とか、一日一回の
>起動を作るのは、解ったのですが、5分毎とかに実行させる
>方法が解りません。

 要は「5分間時間待ちをするプログラムを使った、無限ループ型のバッチ処理」を組みたい、ということですね。
 ATコマンドは最小1日単位ですから、この用途には向きませんね。でも、マルチタスク環境上でなら専用のコマンド?プロンプトが1つ常時動いていれば済むので、「起動したら5分間待って終了する」という単機能のツールが1つあればとりあえず目的は達せられるんではないでしょうか。

 このてのものは、なにか簡易なプログラミング・ツールでもお持ちなら専用に作ることも困難ではないと思いますが(なにしろ、起動して5分たったら終了するだけでおしまいなわけですから(^^;)、とりあえずVectorのサイトで"WAIT"をキーワードに探しあてたフリーソフトを1つ紹介します。(単に探してきて紹介してるだけなので、現在のとっぽさんの環境できちんと動作可能かどうかは保証の限りではないですが)

Time WAIT 時間待ち合わせプログラム (URLは↑)

 このツールの場合でいえば、こんなふうにすれば、何かキーが押されるまで5分ごとにずっと同じ処理を繰り返すことが可能な理屈になります。

:TOP
T_WAIT 300 (何かキーが押されない限り300秒そのまま待つ)
IF ERROREVEL 254 GOTO QUIT (キーが押された場合はERRORLEVEL 254が返る)
(必要な定期処理)
GOTO TOP
:QUIT

YanaKen

this article refers Vector Soft Library..

25) Re2:Batの定期実行 とっぽ 2002/02/28(木) 11:05
YanaKen様

アドバイスありがとうございます。
また、環境等を書いてなくて、申し訳ありません。

使用環境は、全て、Win2Kで使用する予定です。

自分としては、タイマー的な物で探していて、単に、時間を待つとの、発想が、無かったので、
batで、タイマーを起動して、云々・・・・と考えていたのですが、うまく、動いてくれませんでした。

たしかに、アドバイス頂いた、待つソフトを使えば、簡単みたいですね。

教えて頂いた、方法なら、↓のように記述したら、いいみたいですね。

:FILECHEK
T_WAIT 300
IF ERROREVEL 254 GOTO QUIT
CLS
IF EXIST \\Server1Name\DirectlyName\FileName ( ECHO Server1 OK ) ELSE ( GOTO FILECHEK )
IF EXIST \\Server2Name\DirectlyName\FileName ( ECHO Server2 OK ) ELSE ( GOTO FILECHEK )
IF EXIST \\Server3Name\DirectlyName\FileName ( ECHO Server3 OK ) ELSE ( GOTO FILECHEK )

:NEXT_JOB

(次の処理の構文)

:QUIT
PAUSE

ただ、残念なのは、Time WAITは、MS-DOS V6対応の16Bit版みたいなので、
そのままでは、Win2KのDOSコマンドでは、実行出来ないみたいなのが残念です。
Win2K版を作れるかどうか、解りませんが、すこし、トライして
自作してみたいと思います。
もし、Win2Kで動く同様なソフトをご存じの方がいらっしゃいましたら、お教えください。
(DOSのコマンドって作った経験無い物で、どう作ったら、良いか全く、解ってません。)


27) Re3:Batの定期実行 とっぽ 2002/02/28(木) 18:29
簡単に、待つだけのexeは、作れそうだったので、
フリーで簡単に作れないか探してみたところ、
Discoversoft様のActiveBasicがフリーツール
として、ありましたので、それで、作ってみました。
基本的には、basicですので、作り方は、簡単で、
コンパイルしてしまえば、exeとして、dosより使用することも可能でした。
basicのソース的には、
10 sleep 300000  (単位がミリ秒になってます。)
で、コンパイルかければ、完成であとは、batより
呼び出してあげれば、その場で、300000ミリ秒(5分)待ってくれます。
途中のキー入力により、中断することも可能みたいです。
(ソースは、作成してませんが(^^;))

これで、なんとか、問題解決出来たみたいです。
YanaKen様、あと、自分の書いたのを少しでも考えて頂いた方々
本当に、ありがとうございました。

謝々。

28) Re4:Batの定期実行 SYSOP 2002/03/01(金) 01:29
とっぽさん

>10 sleep 300000  (単位がミリ秒になってます。)
 なんと、1行ですんじゃいましたか(^^;。

>これで、なんとか、問題解決出来たみたいです。
 お役にたててよかったです。また遊びに(?)きてくださいね~。

YanaKen
 
 


カテゴリー「PAUSE,CHOICE…キー入力待ち/時間待ち」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2002年02月25日 15:06に投稿されたエントリーのページです。

ひとつ前の投稿は「FTPで自動アップロード/ダウンロードするには?」です。

次の投稿は「callのパイプ処理で環境変数への代入が消滅してしまう」です。

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

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