前回「(1/2)タスクスケジューラのコマンドオプションを調べてみる」で実施したタスクスケジューラをコマンドから登録して検証する内容の後編です。
自分が使ったところだけですが、コマンドオプションと実際のタスクスケジューラの画面を併記して後から自分が見ても分かりやすくしています。
前回はタスクスケジューラプロパティの「全般」タブ画面内の設定をコマンドオプションで確認してきましたが、今回はタスクスケジューラのポイントとなる「トリガー」についての記載となります。
タスク「トリガ」指定
タスク画面の「トリガ」タブを指定する方法をいくつか。前述のように「/SC」オプションで指定することになります。
まずはタスク作成で
schtasks /Create /RU %USERNAME% /TN Test-Task-1 /TR "C:\temp\test\test.bat" /SC DAILY /ST 12:00
と作成した場合、
このように、「毎日12:00(24時間表記、PM12:00)に実行されるタスク」が生成されます。
次に、月次タスクを作ってみます。
schtasks /Create /RU %USERNAME% /TN Test-Task-1 /TR "C:\temp\test\test.bat" /SC MONTHLY /MO FIRST /D SAT
と作成すると、
このように「毎月第1土曜日にタスクを実行」というタスクを作成できます。と、これだとタスク実行時間がトリガの時間になってしまうので、前述の/STオプションを追加して、
schtasks /Create /RU %USERNAME% /TN Test-Task-1 /TR "C:\temp\test\test.bat" /SC MONTHLY /MO FIRST /D SAT /ST 12:00
とすると、
このように「12:00」という時間が指定できるので、「毎月第1土曜日の12:00にタスク実行」というタスクを生成できます。バックアップとかに使いそうな指定です。
次は一回だけ実行するタスクの作成をしてみます。
schtasks /Create /RU %USERNAME% /TN Test-Task-1 /TR "C:\temp\test\test.bat" /SC ONCE /ST 18:00
と実行して、
一回だけのタスクを時間指定して生成することができます。今回の記事では触れていませんが、リモートコンピュータに接続してタスクの登録をすることもできるコマンドなので、別のPCにタスクを登録するとき一回だけ実行、という使い方はあるかも。
最後はあまり使わないのですが、「コンピュータの起動時の実行」となるタスクです。
schtasks /Create /RU %USERNAME% /TN Test-Task-1 /TR "C:\temp\test\test.bat" /SC ONSTART
と実行して、
このように「スタートアップ時:システム起動時」というトリガでタスクが作成されます。
組み合わせで様々な起動タイミングを指定することができますが、あまり複雑なタスクを作成していないため、今回は覚えやすいこれくらい。
タスク「トリガ」オプション
トリガ画面の下部には「詳細設定」という設定箇所が用意されています。
この部分の指定で「遅延時間を指定する」は「/DELAY」オプションで指定します。
SCHTASKS /Create /RU %USERNAME% /TN Test-Task-1 /TR "C:\temp\test\test.bat" /SC ONLOGON /IT /RL HIGHEST /DELAY 0005:00
こう実行した場合、「遅延時間を指定する」の箇所に「5分間」の起動待ち時間が設定されます。
「/SC ONLOGON」なのでログオン後に5分経過してからタスクを実行するという動きをする様になります。
次の「繰り返し間隔」の指定は、時間指定と組み合わせて使うことになります。
schtasks /Create /RU %USERNAME% /TN Test-Task-1 /TR "C:\temp\test\test.bat" /SC HOURLY /MO 2 /ST 09:00 /ET 18:00
と実行すると、
タスクを実行した日の(/STで指定した)AM9:00~(/ETで指定する)18:00まで実行するタスクが作成され、そのタスクは2時間おきに実行される、というタスクが設定されます。/SCオプションでHOURLY=時間毎、/MOオプションで2時間おきという指定をしています。
今回はこれまで
結局記事中に「schtasks /Change」はほとんどなく「schtasks /Create」ばっかりになってしまいました。しかもこれ以外にもたくさんのオプションが用意されているので、まだ紹介し切れていません。
詳しくは、
schtasks /create /?
で確認可能です。
「schtasks /Change」を使うことがあったら、また別途記事にしてみたいと思います。