【Windows】タスクスケジューラでプログラムを実行する方法

IT

突然ですが、皆さんはタスクスケジューラを使っていますか?

毎日実行したいプログラムや、1週間に1回、1カ月に1回実行したいプログラムは、毎回手で実行するのも面倒ですし、忘れてしまう場合もあります。

タスクスケジューラにプログラムを実行するように設定しておけば、決まった時間にプログラムを勝手に実行してくれるようになります。

今回は、そんな便利ツールであるタスクスケジューラの使い方を紹介していきます。

タスクスケジューラを起動する

画面左下から、タスクスケジューラーを検索すると出てきます。

これを開きます。

こんな感じで、予め設定設定されているタスクがいくつかあります

注)デフォルトのタスクは間違って消さないように!

タスクを作成する

それでは、タスクを作成していきましょう。

起動するプログラム

今回は適当に作成したPythonプログラムをタスクスケジューラで起動するようにセッティングしましょう。

exeファイルを実行すると

プログラムの実行結果

と表示されます。プログラムとしての価値は皆無です。

ちなみにbatファイルを起動すると、program.exeが起動するようになっています(なぜexeとbat両方あるのかということについては後程)。

batファイルの中身

タスクの新規作成

タスクを新規作成するときは、タスクスケジューラ ライブラリの「タスクの作成」から作成します。

「タスクの作成」をクリックすると、新規ウィンドウが表示されます。

全般

[全般]では、タスク名および実行の権限を指定します。

実行権限は、デフォルトではタスクを作成するユーザーになっています。また、「ユーザーがログオンしているときのみ実行する」のままだと、タスクを設定したユーザがログオフだと実行されません。

複数のアカウントが登録された共有PCやサーバでは、ユーザのログオン状態に左右されるタスクは実行されない場合もあり不安定です。

そんなときは、1つ下の「ユーザがログオンしているかどうかにかかわらず実行する」を指定します。こうすることで、アカウントのログオン、ログオフにかかわらずタスクを実行することができます。

ユーザーを「SYSTEM」に変更することでも、ユーザにかかわらずタスクを実行することができます。

「ユーザまたはグループの選択」でSYSTEMと入力します。

以下のように表示されます。

実行するプログラムに管理者権限が必要となる場合には、「最上位の特権で実行する」にチェックをいれておきます。

トリガー

トリガーでは、プログラムを起動させる条件を指定します。例えば、毎日〇時〇分とか、PC起動時とかです。

左下の「新規作成」から、条件を指定します。

様々な条件を指定することができるので、目的に沿うように設定してください。

操作

操作では、実行するプログラム等を指定します。

今回は、program.batを起動するように設定します。

**exeファイルを指定すると、タスクは起動してもプログラムが実行されませんでした。なので、いちいちbatファイルは挟んでプログラムを実行するようにしています。

↑exeファイルそのまま実行する方法がわかる方、教えてください(土下座)

条件

トリガーで設定した条件に追加して条件を指定します。

ノートPCの場合、「AC電源を使用している場合のみタスクを開始する」のチェックに気をつけてください。チェックがついていると、充電コード挿していないときにタスクが実行されません。

これで一通りの設定が終わりました。タスク一覧に戻ると、作成したタスクが追加されています。

プログラムが実行されたかを確認する

プログラムが実行されたかを確認するには、履歴を見ます。

15:10に起動するように設定したタスクが、きちんと15:10に実行されていることがわかります。

まとめ

タスクスケジューラの設定方法を紹介してきました。

ちょっと設定を間違えただけでも、思ったように動いてくれなかったりするので要注意です^^;

PC使うときに毎回起動するようなアプリをスケジューラに設定しておくと、勝手に起動してくれたりして便利です。

ではでは👋