- ベストアンサー
こんなのDOSバッチで組めるでしょうか
WindowsNT4sp5です。 タスクスケジューラで朝から晩まで数分おきに動いている既存のDOSバッチがあり、そのなかで起動しているあるプログラムがたまにハングアップしてバッチがそこで止まったままになることがあります。 プログラムの性格上、そうなるとサーバーの再起動が必要でして、手動で行っています。 本来そのプログラム自体をなんとかするのが当たり前なのですが、事情があってそれは出来ません。 で、リモートからではありますがいちいち手動で再起動するのが面倒なので、そうなった場合に自動でサーバーを再起動させたいと思います。 プログラムは通常5分程度で終了するので、プログラムの処理の前行にATコマンドを書いて現在時刻の10分後とかにシャットダウンスケジュールをし、プログラム処理の後行にそのスケジュールを消す事を考えました(他にATは無いのでID0のスケジュールを消すコマンドを書く)。しかしこの場合、「現在時刻の10分後の時間でスケジュール」という部分がどうやったらいいのかわかりません。 別にATにこだわるつもりもないのですが、サードパーティ製のプログラム(フリー含む)は使えません。マイクロソフト物であればリソースキットもサーバーツールも使えるのですが・・ このような事を達成できる方法や情報をお持ちの方がいらしたら是非おしえていただけませんでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- notnot
- ベストアンサー率47% (4903/10364)
回答No.4
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.3
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.2
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
回答No.1
補足
度々ありがとうございます。 3はsleep.exeというリソースキットだかサーバーツールだかのオプションプログラムがありますので可能です(既存バッチ内でも使っています)。VBScriptでも使用可能かはわかりませんが。 DOSバッチ内のコマンド記述で2のような「別バッチを起動してその終了を待たずに次の行へ行く」が出来ればとは考えていたのですが、DOSバッチって必ず一行を終わらせて次へ行くという性質だった気がしたので、これはあきらめていました・・Dosバッチでそれが出来れば解決かなとは思いますが。 VBScriptというのだとそのような事が出来るのですね。 教えていただいた事を実現させる為にVBScriptを考えるのも一策かと思いますので、VBScriptを動かす為に必要な環境、ファイル、アプリ、手順等々、簡単で結構ですのでご教示いただければと思います(自分でもこれから調べに行ってきます)。