Windowsのタスクスケジューラで定期的な作業を自動化する方法

Windowsのタスクスケジューラで定期的な作業を自動化する方法

Windows環境には、作業を決められたスケジュールで自動的に実行させる機能として「タスクスケジューラ」が搭載されています。

タスクスケジューラには、OSやアプリケーションに関連するさまざまなタスクが登録されていますが、ユーザー自身がタスクを作成して、定期的に実行させることもできます。

そこでここでは、Windows10を例に「タスクスケジューラ」の基本的な使い方を解説します。

動作環境

この記事は、以下の環境での動作結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows10 Pro 64bit21H1

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

タスクスケジューラを起動する方法はいくつかあるので、自分が使いやすいと感じる方法で起動すればOKです。

プログラム一覧から

スタートメニューのプログラム一覧で「Windows管理ツール」の「タスクスケジューラ」から起動できます。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

検索ボックスから

検索ボックスに「タスク」と入力して、検索結果から「タスクスケジューラ」を選択して起動できます。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

「ファイル指定して実行」から

「ファイルを指定して実行」で「taskschd.msc」と入力し「OK」をクリックリックすることで「タスクスケジューラ」を起動できます。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

タスクを作成する

タスクスケジューラでタスクを作成する手順は、次のとおりです。

まず、画面右側のメニューから「基本タスクの作成」または「タスクの作成」をクリックします。

「基本タスクの作成」では、ウィザード形式で簡単にタスクを作成でき、「タスクの作成」では、詳細な設定を自分で指定してタスクを作成できますが、慣れないうちは「基本タスクの作成」でタスクを作成して、そのあと必要に応じて設定を変更するのが良いでしょう。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

以降では「基本タスクの作成」で、タスクを作成する手順を紹介します。

基本タスクの作成

「基本タスクの作成」画面が表示されたら、まずタスクの名前を指定し「次へ」をクリックします。

タスクの名前は自分が管理しやすい任意の名前でOKです。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

タスクトリガー

次の「タスクトリガー」画面では、タスクを実行するタイミングを指定し「次へ」をクリックします。

実行タイミングは「毎日」「毎週」「毎月」「一回限り」「コンピューターの起動時」「ログオン時」「特定イベントのログへの記録時」が選択でき、選択した項目によって、次の画面で指定する内容が変わります。

ここでは例として「毎日」を選択します。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

次の「毎日」画面では、タスクを起動する開始日時と間隔を指定し「次へ」をクリックします。

なお「間隔」に「1」を指定すると毎日実行され、「2」を指定すると1日おきに実行されます。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

ちなみに、前の画面で「毎日」以外を選択したときのそれぞれの画面は、以下のとおりです。

Windowsのタスクスケジューラで定期的な作業を自動化する方法
「毎週」を選択したとき
Windowsのタスクスケジューラで定期的な作業を自動化する方法
「毎月」を選択したとき
Windowsのタスクスケジューラで定期的な作業を自動化する方法
「1回限り」を選択したとき
Windowsのタスクスケジューラで定期的な作業を自動化する方法
「特定イベントのログへの記録時」を選択したとき

操作

次の「操作」画面では「プログラムの開始」を選択し「次へ」をクリックします。

その他の選択肢は、画面に表示されているとおり「非推奨」なので、もしメールを送りたいときや、メッセージを表示させたいときは、ここで選択するのではなく、別途スクリプトファイルを用意して対応します。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

次の「プログラムの開始」画面では、実行するプログラムを指定し「次へ」をクリックします。

プログラムに何らかの引数を指定するときは「引数の追加(オプション)」欄に入力し、プログラムを実行するときのカレントディレクトリを指定するときは「開始(オプション)」欄に、フルパスで入力します。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

要約

最後の「要約」画面で、タスクの設定内容を確認し「完了]をクリックします。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

以上で、タスクの作成完了です。

作成したタスクは、タスクスケジューラライブラリの一覧に追加されており、一覧では現在の状態や、トリガー、次回の実行日時、前回の実行結果などを確認できます。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

また、作成したタスクを即時で実行したいときは、画面右側のメニューから「実行」をクリックすることで、スケジュールに関係なく即時で実行でき、タスクを実行させたくないときは「無効化」をクリックすることで、選択したタスクを一時的に無効化することもできます。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

タスク作成時の注意事項

「基本タスクの作成」で作成したタスクは、タスクを作成したユーザーがWindows10にサインインしているときに、タスクを作成したユーザーの権限で実行されます。

そのため、サインアウト中でもタスクを実行したいときや、別のユーザーでタスクを実行したいとき、管理者権限で実行したいときなどは、タスクの設定を変更する必要があります。

タスクの設定を変更する

作成したタスクの設定を変更するときは、画面中央のタスク一覧から、設定を変更したいタスクをダブルクリックします。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

すると、タスクのプロパティ画面が表示され、ここでは「基本タスクの作成」で設定した内容を変更したり、より詳細な設定ができます。

Windowsのタスクスケジューラで定期的な作業を自動化する方法
Windowsのタスクスケジューラで定期的な作業を自動化する方法
Windowsのタスクスケジューラで定期的な作業を自動化する方法
Windowsのタスクスケジューラで定期的な作業を自動化する方法
Windowsのタスクスケジューラで定期的な作業を自動化する方法

タスクの保存場所を作成する

デフォルトでは、作成したタスクは「タスクスケジューラライブラリ」に保存されますが、自分でフォルダーを作成してタスクを保存することができ、自分が作成したタスクを他のタスクと分けて管理したいになどに便利です。

フォルダーを作成するには、画面左側でフォルダーを作成する場所を選択してから、画面右側のメニューから「新しいフォルダー」をクリックします。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

なお、既存のタスクを別のフォルダーに移動させたいときは、後述のエクスポート/インポートが必要になります。

タスクの履歴を有効化する

タスクの履歴は、デフォルトではタスクの一覧で前回の実行結果しか確認できませんが、タスクの履歴を有効化しておけば、タスクの実行履歴がイベントログとして記録されるようになり、タスクがいつ実行されて、どのような結果だったのかを確認できるようになります。

タスクの履歴を有効化するには、画面右側のメニューから「すべてのタスク履歴を有効化する」をクリックします。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

タスクの履歴は、それぞれのタスクの「履歴」タブで確認できます。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

タスクをエクスポート/インポートする

タスクスケジューラに登録されているタスクは、XML形式ファイルとしてエクスポートしたり、インポートすることができ、タスクをフォルダー間で移動させたいときや、複数のWindowsマシンで同じ設定のタスクを作成するときなどに役立ちます。

タスクをエクスポートするときは、タスクを選択してから、画面右側のメニューで「エクスポート」をクリックします。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

タスクをインポートするときは、タスクをインポートしたい場所を選択してから、画面右側のメニューで「インポート」をクリックし、インポートしたいXMLファイルを指定します。

Windowsのタスクスケジューラで定期的な作業を自動化する方法

コマンドでタスクを管理する

タスクスケジューラのタスクは、Windowsコマンド「schtasks」や、PowerShellコマンドレットで管理することもできます。

コマンドの詳しい使い方を知りたい方は、以下のMicrosoftのページが役立つでしょう。

schtasks commands | Microsoft Docs

ScheduledTasks Module | Microsoft Docs

あとがき

Windows環境で定期的に処理を実行したいとき、たいていのことはタスクスケジューラで対応できます。

ご活用あれ。

記事が役立ったらシェアしてくれるとうれしいです。

あなたにおすすめのコンテンツ