8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【問題解決】Windowsサーバのタスクスケジューラで「毎日」設定なのに3日ごとに実行されてしまう

Last updated at Posted at 2017-05-01

環境

  • Windows Server 2012

問題

以下のようなバッチファイルを、タスクスケジューラで「毎日」実行するように設定しました。
しかし、実際には毎日でなく3日ごとに実行されていました(batファイルのログで確認)。

REM 何らかのコマンドを実行
execute
REM Enterキーが押されるまで処理を一時停止
REM(処理が無事終了したことを確認するため、一時停止してコマンドプロンプトが閉じないようにする)
pause

image.png

「3日」はどこで設定されているか

「3日」という値は、「設定タブ->タスクを停止するまでの時間」に設定されていました。

image.png

この値を「1日」に変更したら、毎日実行するようになりました。

毎日実行されない原因

「設定タブ」の「タスクが既に実行中の場合に適用される規則」が「新しいインスタンスを開始しない」になっていました(上図を参照)。
batファイルではpauseコマンドを使っているため、Enterキーを押すまでタスクは終了されません。
そのため「新しいインスタンス」が生成されず、毎日タスクが実行されませんでした。

解決方法

以下のいずれかの方法で解決できるでしょう。

  • 「設定タブ→タスクを停止するまでの時間」を「1日」にする。
  • pauseコマンドを取り除いて、処理を止めないようにする
  • 「設定タブ→タスクが既に実行中の場合に適用される規則」を、「新しいインスタンスを並列で実行」または「既存のインスタンスを停止」に設定する。
8
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?