スクリプトを毎分実行するようにWindowsタスクをスケジュールする必要があります。ほとんどの場合、スクリプトは何も実行する必要がなく、すぐに存在します。 Whenスクリプトは何かを実行する必要があるので、ジョブをできるだけ早く、つまり1分の間隔で開始したいと思います。
現在、WindowsスケジューラのUIは近年非常に混乱しているため、Windows 2008 R2で毎分(または5分)にタスクを実行するための最良の方法は何なのかわかりません。
これは、Windowsで毎分タスクをスケジュールする最良の方法ですか?信頼できますか?マシンを再起動した直後に開始されますか、それとも午後12時にのみ再開されますか?非常にポータブルである必要があるため、このためのカスタムサービスアプリケーションを使用/作成できないことに注意してください。
はい、このサービスは再起動後に実行されます。タスクスケジューラサービスのトランザクションログで確認できます。
Systemroot\SchedLgU.txt (SystemrootはWindowsインストールフォルダーです)
それが正しく動作していない場合(XPの場合、2008と同等のものは不明):
コントロールパネル->管理ツール->サービス->タスクスケジューラ 自動に設定します。
2008のドキュメントはこちら 、 XPのドキュメントはこちら
タスクのスケジュールは指定された時間に開始され、その後、繰り返しパラメーターに基づいて実行されます。開始時刻は「タスクインストール」時刻と見なすことができ、繰り返しパラメーターの一部ではありません(タイマーオフセットを除く)。それが理にかなっていると思います!
これと同じ要件がありました。 Server 2008では、実際にRepeat task every:ドロップダウンを変更できます。デフォルトでは、最小値は "5分"ですが、単に "1分"そこに。 トリガータブを見て、 "... 00:01:00ごとに繰り返す..."。 "10秒"と入力してみると、1分より長い値を選択するように求めるエラーが表示されます。
コマンドラインの "schtasks"を使用して、毎分1回繰り返すようにタスクをスケジュールすることができます。コードの例は次のとおりです。
schtasks/create/sc min/mo 1/tn "タスク名"/tr c:\ temp\filename.exe
タスクはWindows 2008 R2 GUIに表示され、1分に1回実行されます。タスクは、コマンドラインの "schtasks"ユーティリティを使用して作成および変更する必要があります。
残念ながら、MicrosoftはWindows 2008 R2タスクスケジューラを愚かに設計し、Windows 2003のタスクスケジューラにある柔軟な構成を削除して、間隔の限られたいくつかの選択肢を優先しました。
ダベファン