検索
連載

【Windows 10/11】タスクスケジューラで定期的な作業を自動化するTech TIPS(1/2 ページ)

ファイルのバックアップなど定期的に繰り返し実行しなければならない作業は、Windows OSの標準機能「タスクスケジューラ」で自動化しよう。ウィザードを利用すれば、簡単にプログラム起動のスケジュールを組むことができる。

Share
Tweet
LINE
Hatena
「Tech TIPS」のインデックス

連載目次

タスクスケジューラで定期的な作業を自動化

対象:Windows 10/Windows 11、Windows Server 2016/Windows Server 2019/Windows Server 2022


 コンピュータを使って業務をこなしていると、定期的にほとんど同じことを繰り返している作業がある。例えば、ファイルのバックアップやウイルスのチェックなどが挙げられるだろう。こうした作業を手動で繰り返すのは非効率かつ面倒なので、できる限りコンピュータに自動実行させたい。

 定例の作業を自動化できる機能として、Windows OSには「タスクスケジューラ」が標準で装備されている。本Tech TIPSでは、このタスクスケジューラを利用して定期的にプログラム起動を繰り返すための基本的な設定手順を説明する。

 ここでは、Windows 10/11上で特定フォルダを毎日決まった時刻にファイルサーバへバックアップするという作業を例に手順を紹介する。

 ただ、タスクで実行されるプログラムは設定を変更しない限り、サインイン中のユーザーアカウントの権限で起動される。そのため、対象のプログラムが正しく実行できる権限を持ったユーザーアカウントであらかじめWindows 10/11にサインインしてから、以下の作業を進めていただきたい。タスク自体は、管理者アカウントではなく一般ユーザーの権限でも作成できる。

 なおプログラムを差し替えれば、バックアップ以外のタスクも同様の手順で作成できる。

タスクスケジューラの設定画面を開くには

 タスクスケジューラを起動するには、以下の方法がある。

  • Windows 10】[スタート]メニューの[Windows管理ツール]−[タスクスケジューラ]をクリック
  • Windows 11】[スタート]メニューの[すべてのアプリ]−[Windowsツール]を開いて[タスクスケジューラ]をクリック
  • タスクバーの検索窓に「task」と入力して、見つかった「タスクスケジューラ」または「タスクのスケジュール」をクリックする
  • Windows]+[R]キーで[ファイル名を指定して実行]ダイアログを表示して「taskschd.msc」と入力して[Enter]キーを押す
タスクスケジューラを起動する(検索して見つける)
タスクスケジューラを起動する(検索して見つける)
タスクバーの検索窓に「task」と入力して、見つかった「タスク スケジューラ」をクリックする。

タスクスケジューラを起動する(直接ファイル名を指定)
タスクスケジューラを起動する(直接ファイル名を指定)
Windows]+[R]キーで[ファイル名を指定して実行]ダイアログを表示して「taskschd.msc」と入力して[Enter]キーを押す。

新たにタスクを作成するには

 新しくタスクを作成するには、[タスクスケジューラ]画面の左ペインのツリーで[タスクスケジューラライブラリ]フォルダを選択してから、右側の操作ペインで[基本タスクの作成]をクリックする。これでタスク作成ウィザードが起動する。

新たなタスクを作成するウィザードを起動する
新たなタスクを作成するウィザードを起動する
タスクスケジューラ]画面の左ペインのツリーで[タスクスケジューラライブラリ]フォルダを選択してから、右側の操作ペインで[基本タスクの作成]をクリックする。これで新たなタスクを作成するためのウィザードが起動する。

 一方、操作ペインの[基本タスクの作成]のすぐ下にある[タスクの作成]の方をクリックすると、ダイアログ形式で細かい設定を指定しながらタスクを新たに作成できる(後述の「作成したタスクの設定を変更する」で触れている[詳細設定]ダイアログが表示される)。

 慣れないうちはウィザード形式でタスクを作成し、その後で必要に応じて設定を変更する方が間違いないだろう。以下ではウィザード形式でのタスク作成手順を説明する。

 ウィザード起動後の最初の[基本タスクの作成]画面では、タスクに付ける名前を指定する。ここで付けた名前は、いったんタスク作成を完了すると容易には変更できなくなるので、間違えないように十分注意すること。

[基本タスクの作成]:タスクに名前を付ける
[基本タスクの作成]:タスクに名前を付ける
ウィザード起動後の最初の[基本タスクの作成]画面では、タスクに付ける名前を指定する。この名前は、タスクの作成後には変更できなくなるので注意して付けること。

 次の[タスクトリガー]画面では、タスクを起動するタイミングを指定する。毎日/毎週/毎月という単位でタスク起動を繰り返す場合は、「いつタスクを開始しますか?」から該当するものを選ぶ。

[タスクトリガー]:タスクを起動するタイミングを指定する
[タスクトリガー]:タスクを起動するタイミングを指定する
毎日/毎週/毎月という単位でタスク起動を繰り返す場合は、「いつタスクを開始しますか?」から該当するものを選ぶ。

 ここで選択した項目によって、次のウィザード画面で指定する内容(タスクを実行するタイミング)が変わる。本Tech TIPSでは「毎日」を選んだ場合を説明する。

 なお[コンピューターの起動時]を選んだ場合は通常、管理者権限が必要になる(正確には、コンピュータ起動時にタスクを起動する権限を持つユーザーアカウントをウィザードの途中で指定する必要がある)。

 次の[毎日]画面では、タスクを起動する開始日時と間隔を具体的に設定する。もし1つ前の画面で[毎週]を選んだら曜日、[毎月]を選んだら月と日、曜日を選ぶ画面が表示される。

 タスクをすぐ開始したければ、「開始」には作成当日を指定する。また「間隔」では「1」を指定すると毎日実行されるし、「2」なら1日置きに実行される。

[毎日]:タスクを起動する日時などを具体的に指定する
[毎日]:タスクを起動する日時などを具体的に指定する
1つ前の画面で[毎日]を選んだ場合、ここではタスクを開始する日時と間隔を指定する。「間隔」は、「1」を設定すると毎日実行となる。

 次の[操作]画面では、[プログラムの開始]を選択する。その他の選択肢は推奨されていないので、選ばないこと(エラーが発生してタスク作成に失敗することもある)。

[操作]:タスクとして実行する内容を選ぶ
[操作]:タスクとして実行する内容を選ぶ
ここでは[プログラムの開始]を選択する。「電子メールの送信」などを選択すると、タスクの終了に失敗するなどした際に大量のメールが送信されるなどのトラブルを起こす可能性がある。

 次の[プログラムの開始]画面では、起動するプログラムについて設定する。

[プログラムの開始]:起動するプログラムを指定する
[プログラムの開始]:起動するプログラムを指定する
起動するプログラムやスクリプトを指定し、引数(コマンドラインのパラメーター)などの設定を行う。

 もしPATH環境変数に記載されたフォルダにある実行ファイルを指定するのであれば、「プログラム/スクリプト」欄はファイル名だけでもよい(パスを省略できる)。またバッチファイルの場合は、「cmd /c」などと指定することなく、直接そのファイル名を指定してよい。一方、PowerShellスクリプト(.ps1ファイル)の場合は、「プログラム/スクリプト」欄に「powershell」と指定し、「引数の追加(オプション)」欄に.ps1ファイルのパスを指定する必要がある。

 プログラムに何らかの引数(コマンドラインのパラメーター)を指定する必要がある場合は、「引数の追加(オプション)」欄に入力する。この例では、robocopyコマンドのパラメーターとして、コピー元フォルダ「data」とコピー先フォルダ「\\server01\backup\user01」を指定している。不要なら空のままでよい。

 「開始(オプション)」欄には起動時のカレントフォルダを記入する。このとき、次のことに注意する。

  • フルパスで記入する
  • パスをダブルクオート(二重引用符)でくくらない(エラーになる)

 これも不要なら空のままでよい。

 次の画面でウィザードは完了だ。表示されたタスク作成の概要を確認したら、[完了]ボタンを押す。

[要約]:設定内容を確認してタスク作成を実行する
[要約]:設定内容を確認してタスク作成を実行する
タスクの内容を確認して、[完了]ボタンを押す。

 以上の手順により、毎日2時にrobocopyコマンドが実行されて、[data]フォルダ内のファイルが、ファイルサーバの[\\server01\backup\user01]フォルダにバックアップされるようになる。

 [基本タスクの作成]ウィザードで作成したタスクはデフォルトで、作成時と同じユーザーアカウントでWindows OSに対話的サインインをしているときのみ起動される。サインアウト中でもタスク(プロセス)が起動されるようにする方法については、Tech TIPS「ログオフ中でもタスクを起動させる方法」を参照していただきたい。

       | 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る