トップへ(mam-mam.net/)

schtasksコマンドを使って毎月月末にタスクを動かしたい

検索:

「schtasksコマンドを使って毎月月末にタスクを動かしたい」

schtasksコマンドには様々なオプションがあり、
/mo lastday
オプションスイッチを使って毎月月末にタスクを動かせるとヘルプにあるのですが、動きません。

回答

タスク登録するコマンドschtasksで以下のようにコマンドを入力すると、
月末に動作するタスクを登録できます。
しかしながら、私の知る限り、毎月月末には動きません。

schtasks /create /tn "タスクの名前" /tr c:\test.bat /sc monthly /mo lastday /m * /st 23:00

1月に上記コマンドを登録した場合、1月31日23:00に起動後、
次は3月31日23:00がタスク起動日時になります。
その次が、5月31日23:00になります。31日の存在しない月は起動しません。
とってもおかしいですが、これがschtasksの仕様のようで、どうすることも出来ません。
あきらめるしか無いようです。
いっそ毎月の月初1日に起動するタスクを登録することを考慮したほうが良いと思います。

schtasks /create /tn "タスクの名前" /tr c:\test.bat /sc monthly /d 1 /m * /st 00:00


もしくは、毎日実行させ、バッチ処理内で月末かどうかの判断をさせる必要があります。

ソース