<目次>
(1) Windowsでバッチ処理を定期的に実行する方法(タスクスケジューラ使用)
(1-1) タスクスケジューラの設定手順
(1-2) スケジューラの周期を更に細かく(例:分単位)で設定する方法
(1) Windowsでバッチ処理を定期的に実行する方法(タスクスケジューラ使用)
本記事ではWindowsのタスクスケジューラを使って、バッチ処理を定期的に実行する設定の手順をご紹介します。Windowsのタスクスケジューラは、Microsoft Windowsが提供するジョブスケジューラで、スクリプトやバッチプログラム等を事前に指定した周期で定期的にスケーリングして実行する事ができます。
周期は柔軟に設定可能で、日次・週次・月次はもちろん、毎時実行などもできます。
(1-1) タスクスケジューラの設定手順
今回は「1分おき」にバッチを実行する例で、設定の手順をご紹介します。
●①「Windowsボタン」+「x」でシステムメニューを表示し「コンピューターの管理」を選択
(図121①)
●②「コンピューターの管理」画面で「タスク スケジューラ」を選択します。
(図121②)
●③メニューの「操作」→「基本タスクの作成」と押下します。
この「タスク」の中で「何のバッチを、どんな周期で実行する」といった設定をしていきます。
(図122①)
●④「名前」にタスクスケジュールの名前を入力します。
(図122②)
●⑤タスクの「周期」を選択します。
(図123①)今回の例では「毎日」を選びました。
●⑥タスクの「開始日時」や「間隔」(実行間隔)を設定します。
(図123②)例では開始時間を16:44:00、間隔を1日(毎日実行)に指定しています。
●⑦タスクで行う操作を選択します。
今回はバッチ処理を実行させたいので「プログラムの開始」を選択します。
(図124①)
●⑧実行するバッチプログラムを指定します。
(図124②)
一応、スケジューラの動きだけ簡単に確認してみたい人のために、疎通用のバッチプログラムも掲載しておきます。
(サンプル)「Hello World」と時刻を表示します
@echo off
echo 'Hello World '
echo %time%
pause
●⑨「完了」を押下して基本的な設定は完了です。
(図124③)
●⑩元の画面に戻り、設定したタスクが一覧に表示される事を確認します。
(図124④)
(1-2) スケジューラの周期を更に細かく(例:分単位)で設定する方法
上記の流れでは「毎日」以上の細かい実行周期が指定できませんでしたが、以降でご紹介する方法などで、より細かい周期(分単位など)を指定する事もできます。
(手順)
・①「コンピューターの管理」の「アクティブなタスク」欄で周期を変更するタスクをダブルクリックします
(図131①)
・②表示が切り替わったら、再び編集したいタスクをダブルクリックし、プロパティ画面を開きます。
(図131②)
・③タスクのプロパティで「トリガー」タブを開き、選択して「編集」を押下します。
(図132①)
・④「繰り返し間隔」で処理を繰り返したい時間を指定し、OK押下
(図132②)
↓
・OK押下
(図132③)
・⑤元の画面に戻り、設定した周期になっている事を確認します。
(図133①)
・⑥疎通確認
指定した時間にバッチが実行され、コンソールにHello Worldや時刻が表示される事を確認します。
(図133②)
(1-3) (注意点)Powershellをスケーリングする場合について
バッチ(.bat)ではなく、Powershell(.ps1)を指定する場合は、実行プログラムを指定する際に以下のように指定が必要です。
プログラム/スクリプト:powershell または Powershell.exe
引数の追加:-ExecutionPolicy Bypass [Powershellのパス]\[ファイル名].ps1
(図141)