windows上で定期的タスクを実行する

Windows上で定期的にタスクを実行させる必要があったので、それに関するメモです。ここでは定期的にバッチファイルを呼び出します。


コマンド

タスクの登録方法はいくつかありますが、コマンドプロンプト上で”schtasks“を利用して登録します。コマンドプロンプトで”schtasks /?“とすると利用方法を確認できます。

>schtasks /?

SCHTASKS /パラメーター [引数]

説明:
管理者がローカルまたはリモートのシステム上のスケジュール タスクの作成、
削除、クエリ実行、変更、実行および終了を行います。

パラメーター一覧:
/Create スケジュール タスクを新しく作成します。

/Delete スケジュール タスクを削除します。

/Query スケジュール タスクをすべて表示します。

/Change スケジュール タスクのプロパティを変更します。

/Run スケジュールされているタスクをオン デマンドで実行します。

/End 現在実行中のスケジュール タスクを停止します。

/ShowSid スケジュールされたタスクの名前に対応するセキュリティ ID を
表示します。

/? このヘルプを表示します。

Examples:
SCHTASKS
SCHTASKS /?
SCHTASKS /Run /?
SCHTASKS /End /?
SCHTASKS /Create /?
SCHTASKS /Delete /?
SCHTASKS /Query /?
SCHTASKS /Change /?
SCHTASKS /ShowSid /?

 


タスク設定

以下のコマンドで登録します

>schtasks /Create /tn “タスク名” /tr “バッチファイルまでのパス” /sc minute

“minute”の部分は、定期実行パターンを指定しています。ちなみに”minute”の部分は、毎分実行です。よく使うかなと思うものを整理しておきます。

  • 毎日定時に実行したい場合
    • >schtasks /Create /tn “タスク名” /tr “プログラムパス” /sc daily /st 12:00
  • 60分間隔など一定間隔の実行に変更 数字の単位は分
    • >schtasks /Change /TN “タスク名” /RI 60
  •  タスクを削除したいとき
    • >schtasks /Delete /TN “タスク名”

このページに記載されていることを参考にしました。

https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/schtasks