一.概要
スケジューラタスクを設定するには、必ずタスクの実行時間を設定しなければなりません。毎日実行、二日に一度実行、または一度のみ実行など、様々な開始時間の設定をする必要があります。これは表現式で設定できます。
比較的複雑な実行頻度の設定について、主に表現式で実行頻度を設定します。下の画像の通りです。

二.設定済み表現式
1.スケジューラ表現式設定は、cronExpressionから設定します。タスクバーで自ずからcronExpressionを入力してもいいし、すぐ近くの[表現式設定]ボタンを押して、設定済み表現式から選んでもいいです。
2.[事前定義表現式]をクリックして、事前定義表現式のウィンドウを開きます。文字の説明をクリックすると、上のテキストバーにcronExpressionが表示されます。[事前定義表現式を隠す]をクリックすると、事前定義表現式のウィンドウが隠されます。下の画像の通りです。

3.設定済み表現式は次のとおりです:
毎月最後の一日の19時50分:0 50 19 L * ?
毎月最後の出勤日の19時50分:0 50 19 LW * ?
毎月第四の金曜日の19時50分:0 50 19 ? * 6#4
2018年9-12月の毎日の19時50分:0 50 19 * 10-12 ? 2018
出勤日の朝9時と夜6時:0 0 9,18 ? * MON-FRI
三.CronExpression表現式
1.一つのCronExpression表現式には、6または7のフィールド(固定値または特殊な意味を持つ文字)を、スペースで分割した形からなっています。その中で、[秒、分、時間、日、月、曜日]は必須項目であり(順番を変えてはいけません)、年は選択項目であります。
フィールド名 | 入力できる数値 | 入力できる文字 |
秒 | 0-59 | , - * / |
分 | 0-59 | , - * / |
時間 | 0-23 | , - * / |
日 | 1-31 | , - * ? / L W |
月 | 1-12 または JAN-DEC | , - * / |
曜日 | 1-7 または SUN-SAT | , - * ? / L # |
年(選択) | 空 または 1970-2099 | , - * /
|
'*' のフィールドは、どのフィールドにも適用できます。意味:「すべて」、つまり「分」の位置における[*]は、「毎分」を意味します。
'?'のフィールドは、「日」または「曜日」に適用できます。意味:「不明確な数値」、例えば「水曜日」を選びたいとき、水曜日は何日なのか分からないから、[日]のフィールドを[?]にします。
'-' のフィールドは、どのフィールドにも適用できます。意味:「数値の範囲」、例えば[時間]のフィールドを[10-12]とすると、[10時から12時]を意味します。
',' のフィールドは、どのフィールドにも適用できます。意味:「複数の数値」、例えば[曜日]のフィールドを[MON,WED,FRI]で指定すると、「月曜日、水曜日、金曜日」を意味します。
'/' のフィールドは、どのフィールドにも適用できます。意味:「数値の増加」、例えば[秒]のフィールドを[0/15]に設定すれば、[第0、15、30、45秒]を意味します。等差構造であり、0から一度15増加します。最大値の60以下に限ります。
'L'のフィールドは、「日」または「曜日」に適用できます。意味:「Last」の縮約であり、「最後」を意味します。例えば[日]のフィールドに[L]を入れることで、[月の最終日]を意味します。[曜日]のフィールドでは、[7]または[SAT]を意味します。
'W'のフィールドは、「日」に適用できます。意味:「その日に最も近い平日」、例えば[日]を[15W]に設定すると、意味は「当月15日までの平日」であります。15日が土曜日であれば、14日金曜日に開始します。15日が日曜日であれば、16日月曜日に開始します。15日が火曜日であれば、当日に開始します。
'L'、'W'のフィールドは、'LW’の形で「日」に合わせて適用できます。意味:「当月の最後の平日」
'#'のフィールドは、「曜日」に適用できます。意味:「当月の第〇の曜日」、例えば[6#3]は、当月の第三の金曜日を意味します(6で金曜日を表わし、#3は第三を代表します)当月に該当する日付がなければ、タスクを開始しません。例えば、[4#5]を設定すると、当月に第五の水曜日がなければ開始しません。
注:[月]と[曜日]のフィールドは、要求を満たしていれば大文字・小文字のどちらでもかまいません。
2.下の表にように、ここで簡単な例をあげます。
表現式 | 意味 |
0 0 12 * * ? | 毎昼十二時に始まる |
0 15 10 ? * * | 毎朝10時15分に始まる |
0 15 10 * * ? | 毎朝10時15分に始まる |
0 15 10 * * ? * | 毎朝10時15分に始まる |
0 15 10 * * ? 2005 | 2005年毎朝10時15分に始まる |
0 * 14 * * ? | 毎日午後2時から2時59分まで、毎分一度 |
0 0/5 14 * * ? | 毎日午後2時から2時55分まで、5分ごとに一度 |
0 55/10 14,18 * * ? | 毎日午後2時55分と6時55分に始まる |
0 10,44 14 ? 3 WED | 三月毎週水曜日の14:10と14:44に始まる |
0 15 10 ? * MON-FRI | 毎週月火水木金日の10時15分に始まる |
0 15 10 15 * ? | 毎月15日の10時15分に始まる |
0 15 10 L * ? | 毎月最後の日の10時15分に始まる |
0 15 10 ? * 6L | 毎月最後の金曜日の10時15分に始まる |
0 15 10 ? * 6L 2002-2005 | 2002年から2005年までの、毎月最後の金曜日の10時15分に始まる |
0 15 10 ? * 6#3 | 毎月第三の金曜日の10時15分に始まる |
0 0 0 L-2 * ? * | 毎週の後ろから二日目(FineReport 10.0のみがサポートしてします。FineReport 9.0では利用不可) |