ファイルのバックアップなど定期的に繰り返し実行しなければならない作業は、Windows OSの標準機能「タスクスケジューラ」で自動化しよう。ウィザードを利用すれば、簡単にプログラム起動のスケジュールを組むことができる。
対象:Windows 10/Windows 11、Windows Server 2016/Windows Server 2019/Windows Server 2022
コンピュータを使って業務をこなしていると、定期的にほとんど同じことを繰り返している作業がある。例えば、ファイルのバックアップやウイルスのチェックなどが挙げられるだろう。こうした作業を手動で繰り返すのは非効率かつ面倒なので、できる限りコンピュータに自動実行させたい。
定例の作業を自動化できる機能として、Windows OSには「タスクスケジューラ」が標準で装備されている。本Tech TIPSでは、このタスクスケジューラを利用して定期的にプログラム起動を繰り返すための基本的な設定手順を説明する。
ここでは、Windows 10/11上で特定フォルダを毎日決まった時刻にファイルサーバへバックアップするという作業を例に手順を紹介する。
ただ、タスクで実行されるプログラムは設定を変更しない限り、サインイン中のユーザーアカウントの権限で起動される。そのため、対象のプログラムが正しく実行できる権限を持ったユーザーアカウントであらかじめWindows 10/11にサインインしてから、以下の作業を進めていただきたい。タスク自体は、管理者アカウントではなく一般ユーザーの権限でも作成できる。
なおプログラムを差し替えれば、バックアップ以外のタスクも同様の手順で作成できる。
タスクスケジューラを起動するには、以下の方法がある。
新しくタスクを作成するには、[タスクスケジューラ]画面の左ペインのツリーで[タスクスケジューラライブラリ]フォルダを選択してから、右側の操作ペインで[基本タスクの作成]をクリックする。これでタスク作成ウィザードが起動する。
一方、操作ペインの[基本タスクの作成]のすぐ下にある[タスクの作成]の方をクリックすると、ダイアログ形式で細かい設定を指定しながらタスクを新たに作成できる(後述の「作成したタスクの設定を変更する」で触れている[詳細設定]ダイアログが表示される)。
慣れないうちはウィザード形式でタスクを作成し、その後で必要に応じて設定を変更する方が間違いないだろう。以下ではウィザード形式でのタスク作成手順を説明する。
ウィザード起動後の最初の[基本タスクの作成]画面では、タスクに付ける名前を指定する。ここで付けた名前は、いったんタスク作成を完了すると容易には変更できなくなるので、間違えないように十分注意すること。
次の[タスクトリガー]画面では、タスクを起動するタイミングを指定する。毎日/毎週/毎月という単位でタスク起動を繰り返す場合は、「いつタスクを開始しますか?」から該当するものを選ぶ。
ここで選択した項目によって、次のウィザード画面で指定する内容(タスクを実行するタイミング)が変わる。本Tech TIPSでは「毎日」を選んだ場合を説明する。
なお[コンピューターの起動時]を選んだ場合は通常、管理者権限が必要になる(正確には、コンピュータ起動時にタスクを起動する権限を持つユーザーアカウントをウィザードの途中で指定する必要がある)。
次の[毎日]画面では、タスクを起動する開始日時と間隔を具体的に設定する。もし1つ前の画面で[毎週]を選んだら曜日、[毎月]を選んだら月と日、曜日を選ぶ画面が表示される。
タスクをすぐ開始したければ、「開始」には作成当日を指定する。また「間隔」では「1」を指定すると毎日実行されるし、「2」なら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.