連載
» 2010年07月30日 05時00分 UPDATE

Tech TIPS:Windowsのタスクスケジューラーで数分おきにプログラムを繰り返し実行する

タスク・スケジューラを利用すると、定期的なプログラム起動が簡単に実現できる。しかしウィザードでプログラム起動のタスクを作ると、数分あるいは数時間おきに繰り返し起動することはできない。手動でタスクを設定すると、数分/数時間おきにプログラムを起動できるようになる。

[島田広道,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000/Windows XP/Windows Server 2003/Windows Vista/Windows Server 2008/Windows 7/Windows Server 2008 R2



解説

 Windows OSには、定期的にプログラムを起動する「タスク・スケジューラ」という機能が備わっている。これを利用すると、例えば決まった時刻に1日1回、あるいは毎週1回といったタイミングで、指定・登録したプログラムを「タスク」として起動できる。監視系プログラムやログ・ファイルの圧縮・削除を自動実行するなど、システム管理にも有用な機能である。

 しかし、このタスクを作成するウィザードでは、1日1回より高い頻度、例えば数分とか数時間に1回の頻度で実行するようには指定できない。

タスク・スケジューラの作成ウィザード タスク・スケジューラの作成ウィザード
これはWindows 7の基本タスク作成ウィザードで、プログラムを起動するタイミングを指定する画面。定期的に実行するタイミングとしては1日1回が最も高い頻度であり、ここで数分あるいは数時間に1回という頻度は指定できない。

 タスク・スケジューラで数分おきにプログラムを起動するには、ウィザードでいったんタスクを作成してから、そのプロパティを手動で設定を変更すればよい。

操作方法

 タスクの設定を変更する手順は、Windows OSの種類によって異なる。以下では、Windows Server 2003以前とWindows Vista以降に分けて説明する。

●Windows 2000/Windows XP/Windows Server 2003での設定手順

 まずはタスク・スケジューラのウィザードを利用して、対象のプログラムを起動するタスクを作成する。それにはコントロール・パネルの[タスク]アプレットを実行する。コントロール・パネルがカテゴリ別に表示されている場合は、[パフォーマンスとメンテナンス]−[タスク]を実行する。

 次に[スケジュールされたタスクの追加]をダブルクリックしてタスク作成ウィザードを起動する。ここでタスクの実行頻度は、[日単位][週単位][月単位][1 回のみ]のいずれかを指定する。そのほか、タスクの名前や対象のプログラム、実行アカウントなどを適切に指定してウィザードを完了させる。

 次に、作成したタスクをダブルクリックしてプロパティを開き、[スケジュール]タブを選択してから[詳細設定]ボタンをクリックする。

タスクのプロパティから起動タイミングの詳細設定画面を開く タスクのプロパティから起動タイミングの詳細設定画面を開く
タスクを数分おき、あるいは数時間おきに繰り返し実行するには、このタスクのプロパティで設定を変更する必要がある。
  (1)最初にこれを選ぶ。ここではプログラムの起動タイミングを設定できる。
  (2)[日単位][週単位][月単位][1 回のみ]のいずれかを選択する。
  (3)繰り返し実行を始める時刻を指定しておく。毎日24時間、続けて繰り返し実行する場合は、どの時刻でもよい。
  (4)ここは(2)の選択によって設定項目が変わる。プログラム実行の条件にあわせて適切に設定する。
  (5)これをクリックすると、数分あるいは数時間単位でプログラムを繰り返し実行するための詳細設定画面が開く。→[A]

 [スケジュール オプションの詳細設定]画面が開くので、繰り返し実行する間隔とそれを続ける時間を指定する。例えば次の(2)を15分、(4)を1時間とそれぞれ指定すると、タスク開始時刻を初回として15分おきにプログラムが起動し、1時間後に5回目の起動をしたら繰り返し実行は完了する。なお、(2)の間隔に短すぎる値を設定すると、直前のプログラム実行が終わる前に次のプログラムが二重に起動してしまう。プログラムによる処理が完了する時間に注意して設定すること。

[A]

[スケジュール オプションの詳細設定]画面で繰り返し実行を設定する [スケジュール オプションの詳細設定]画面で繰り返し実行を設定する
ここで設定を変更することで、数分あるいは数時間おきにプログラムを繰り返し実行できるようになる。
  (1)ここにチェックを入れて、この下の設定項目を有効にする。
  (2)繰り返し実行の間隔を指定する。1分単位あるいは1時間単位で指定できる。あまり短い時間を設定すると、直前のプログラム実行が終わる前に次のプログラムが二重に起動してしまう。プログラムによる処理が完了する時間に注意して設定すること。
  (3)特定の時刻で繰り返し実行を止めたい場合は、こちらを選んで終了時刻を指定する。
  (4)繰り返し実行を止めるのに、起動からの時間で指定したい場合は、これを選んで時間を指定する。24時間連続で繰り返し実行する場合は、ここに「24時間」と指定すればよい。
  (5)起動したプログラムが終了せずに、いつまでも残留することがあるなら、ここにチェックをいれてオンにする。これで繰り返し実行の終了時刻にプログラムは終了させられる。

 あとは[OK]ボタンをクリックしていってプロパティを閉じれば、設定変更は完了である。意図したようにプログラムが繰り返し実行されているかどうかは、TIPS「タスク・ログ・ファイルの見方」を参考にタスク・スケジューラのログで確認すると確実だろう。

●Windows Vista/Windows 7/Windows Server 2008/R2での設定手順

 まずはタスク・スケジューラのウィザードを利用して、対象のプログラムを起動するタスクを作成する。それにはコントロール・パネルの[管理ツール]−[タスク スケジューラ]を実行する。コントロール・パネルがカテゴリ別に表示されている場合は、次のように[タスク スケジューラ]を呼び出す。

  • Windows Vista/Windows Server 2008
    [システムとメンテナンス]−[管理ツール]−[タスク スケジューラ]を実行
  • Windows 7/Windows Server 2008 R2
    [システムとセキュリティ]−[管理ツール]−[タスク スケジューラ]を実行

 このときユーザー・アカウント制御(UAC)のダイアログが表示されることがあるので、その指示に従って次へ進む。

 タスク・スケジューラの画面が表示されたら、右側の操作ペインから[基本タスクの作成]をクリックして[基本タスクの作成ウィザード]を起動する。ここではタスクの名前や対象のプログラム、実行アカウント、起動するタイミングなどを適切に指定してウィザードを完了させる。

 次に、タスク・スケジューラの画面の左ペインで[タスク スケジューラ ライブラリ]を選ぶと、中央上部ペインに、作成したタスクが表示される。これをダブルクリックしてプロパティを開き、[トリガー]タブを選択してから[編集]ボタンをクリックする。

タスクのプロパティから起動タイミング(トリガ)の詳細設定画面を開く タスクのプロパティから起動タイミング(トリガ)の詳細設定画面を開く
タスクを数分おき、あるいは数時間おきに繰り返し実行するには、このタスクのプロパティで設定を変更する必要がある。
  (1)最初にこれを選ぶ。ここでは「トリガー」と呼ばれるプログラムの起動タイミングを設定できる。
  (2)ウィザードで作成したときに設定した起動タイミング。クリックして選択する。
  (3)これをクリックすると、で選択したトリガにて、数分あるいは数時間単位でプログラムを繰り返し実行するための詳細設定画面が開く。→[B]

 [トリガーの編集]画面が開くので、繰り返し実行する間隔とそれを続ける時間を指定する。例えば次の(5)を15分、(6)を1時間とそれぞれ指定すると、タスク開始時刻を初回として15分おきにプログラムが起動し、1時間後に5回目の起動をしたら繰り返し実行は完了する。なお、(2)の間隔に短すぎる値を設定すると、直前のプログラム実行が終わる前に次のプログラムが二重に起動してしまう。プログラムによる処理が完了する時間に注意して設定すること。

[B]

[トリガーの編集]画面で繰り返し実行を設定する [トリガーの編集]画面で繰り返し実行を設定する
ここで設定を変更することで、数分あるいは数時間おきにプログラムを繰り返し実行できるようになる。
  (1)プログラム実行の条件にあわせて、どれかを選ぶ。毎日24時間実行する場合は、[毎日]を選ぶ。
  (2)繰り返し実行を始める時刻を指定しておく。毎日24時間実行する場合は、どの時刻でもよい。
  (3)ここは(2)の選択によって設定項目が変わる。プログラム実行の条件にあわせて適切に設定する。
  (4)ここにチェックを入れて、繰り返し実行を有効にする。
  (5)繰り返し実行の間隔を指定する。プルダウン・リストボックスにない間隔は、「1234 秒間」「12 分間」「3 時間」「01:23:45」といったように直接入力できる。あまり短い時間を設定すると、直前のプログラム実行が終わる前に次のプログラムが二重に起動してしまうので注意すること。
  (6)繰り返し実行を始めてから止めるまでの時間を指定する。ここも1秒単位から指定できる。24時間連続で繰り返し実行する場合は[1 日間]を選ぶ。
  (7)起動したプログラムが終了せずに、いつまでも残留することがあるなら、ここにチェックをいれてオンにすると、繰り返し実行の終了時刻にプログラムは終了させられる。
  (8)これをオンにすると、(6)と同様に、なかなか処理の終わらないプログラムを終了させる制限時間を設定できるようになる。

 あとは[OK]ボタンをクリックしていってプロパティを閉じれば、設定変更は完了である。意図したようにプログラムが繰り返し実行されているかどうかは、タスクのプロパティの[履歴]タブを開くと、そのタスクの開始や終了といったイベントを確認できる。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。