皆さんはパソコンで色々な事務作業をされていると思いますが、その作業のなかには、毎日朝一に実施したり、週に一回決まったタイミングで実施する作業は無いでしょうか?
皆さんが使用しているWindowsには、決まった時間に特定のファイルを自動で開いたり、特定のアプリケーションやプログラムを実行するための仕組みとして、「タスクスケジューラ」と呼ばれる機能が備わっています。
今回は、Windowsの標準機能で長らく愛用されている「タスクスケジューラ」の使い方を紹介します。
「タスクスケジューラ」とは
まずは「タスクスケジューラ」とはそもそも何?という部分を解説していきます。
早速Wikipediaの記事を参照してみましょう。
Microsoft Windowsのタスクスケジューラは決められた時間または一定間隔でプログラムやスクリプトを実行する機能であり、Windows 95のPlus!パックで「システムエージェント」として初めて提供された。 Windows 98で名称が「タスクスケジューラ」と変更された。タスクスケジューラ -Wikipedia-
とのことです。
我々ITエンジニアにとっては、無くてはならないWindows系OSの機能の一つです。
サーバー管理者はタスクスケジューラにサーバーのバックアップ処理を実装したバッチプログラムを登録して定期実行させたり、業務システムのアプリケーション開発者はデータ更新系の処理を実装したバッチプログラムを登録して、夜間に日次実行させるといった使われ方は非常に一般的です。
この様に、「決まった時間や間隔で特定のアプリケーションやプログラムを実行する」機能というのは、非ITエンジニアの人たちでもうまく活用することで自身の業務の効率化や自動化に繋がる為、使い方を覚えておいて損は無いでしょう。
さっそく以下の項でタスクスケジューラの具体的な設定方法等を紹介していきます。
タスクスケジューラの設定方法と手順
当項ではタスクスケジューラの具体的な設定手順を簡単な解説とともに紹介していきます。
スタートメニュー内のタスクスケジューラ設定画面起動方法
タスクスケジューラの設定画面を呼び出す方法はいくつかありますが、スタートメニューを開いて呼び出す方法を紹介します。
Windows10及びWindows Server 2016の場合
[スタート]→[Windows管理ツール]→[タスクスケジューラ]
Windows7の場合
[スタート]→[アクセサリ]→[システムツール]→[タスクスケジューラ]
タスクスケジューラ 一覧画面表示
画面左側の「タスクスケジューラ ライブラリ」をクリックすると、中央のリストに現在そのパソコンで登録されている、スケジュールされたタスクが一覧表示されます。
タスクスケジューラ登録画面表示
タスクスケジューラの登録画面が表示されます。
登録項目はタブで分類分けされており、それぞれのタブの必要な項目を設定します。
「全般」タブの設定
ここでは、登録するタスクスケジューラの名前等を設定します。
以下の項目を入力します。
名前:
入力必須項目です。日本語名称も可能です。わかりやすい名前を登録しましょう。
説明:
任意入力項目です。入力しなくても問題ないですが、自分以外の人も扱う端末であれば、登録する処理の概要や説明を記述しておいた方が親切だと思います。
セキュリティオプション:
ユーザーがそのパソコンやサーバーにログインしている必要かあるかを指定します。
「ユーザーがログオンしているときのみ」とした場合は、指定した実行タイミングになると、ユーザーの操作に割り込んで指定した処理が実行されます。
ユーザーがWindowsにログオンしていない場合は、指定した実行タイミングになっても処理は動きません。「ユーザーがログオンしているかに関わらず」とした場合は、ユーザーがWindowsにログオンしていない状態でも、Windowsが起動していれば指定したタイミングで処理が実行されます。
また、指定したタイミングでユーザーがWindowsにログオンしていた場合は、ユーザー操作のバックグラウンドで処理が動くため、指定した処理は画面に表示されません。例えば、自動実行させたい処理を、夜間などの自身がパソコンの前に居ないタイミングで実行させたい場合は「ユーザーがログオンしているかに関わらず」の指定をし、日中などの自身がパソコンの前に居るタイミングで実行させたい場合は「ユーザーがログオンしているときのみ」と指定するような使い分けになります。
「トリガー」タブの設定
ここではタスクのトリガー条件を指定します。
「トリガー条件」とは指定した処理を実行するタイミングと理解してください。
まずは画面下部の「新規」ボタンをクリックします。
新しいトリガー設定画面
「設定」枠内の「1回」「毎日」「毎週」「毎月」を選択すると、その選択に合わせて右側の設定項目も切り替わり、より詳細なトリガー条件に指定ができます。
また、当画面下部の「詳細設定」枠内の「繰り返し間隔」にチェックを入れることで、開始で指定した日時を始点として、間隔で指定した15分ごとや1時間ごとのタイミングで繰り返す指定も可能です。
「1回」を指定した場合
日時を指定し、一度だけ指定した処理を実行する設定です。
決まったタイミングで同じ処理を繰り返す必要がないが、夜間などある特定の日時で指定した処理を実行させたいケースで選択することになります。
「毎日」を指定した場合
トリガーを開始する日時を入力し、それ以降何日間ごとに実行するかを「間隔」で指定します。
例えば毎日23時30分に特定の処理を実行させたい場合は、「開始」に当スケジュールを開始したい日にちと時間を入力します。
「間隔」に1を指定することで、毎日23時30分に処理が実行されます。
定例処理は日次処理で実行することが多いので、当実行タイミングの指定が一番よく利用されます。
「毎週」を指定した場合
トリガーを開始する日時を入力し、それ以降の特定の曜日と一週間ごと、二週間ごとといった間隔を実行タイミングとして指定できます。
例えば毎週の土曜日と日曜日の23時30分に特定の処理を実行させたい場合は、「開始」に当スケジュールを開始したい日にちと実行時間を入力し、「間隔」に1を指定、土曜日と日曜日にチェックを付けて登録します。
特定の曜日だけ定例の処理を実行したいというケースは多々発生するかと思うので、そういった場合はこのタイミングの指定で実装できます。
「毎月」を指定した場合
トリガーを開始する日時を入力し、それ以降の特定の月、又は毎月の特定の日付、又は特定の曜日、又は第何週の特定の曜日だけ実行させたい場合に指定します。
例えば四半期ごとの月初1日に毎回実行させたいとか、毎月の第2週目の月曜日だけ実行させたいといった処理があるといったケースでは当実行タイミングの設定を利用します。
「操作」タブの設定
ここでは、トリガーで指定したタイミングで実行する操作を指定します。
まずは画面下部の「新規」ボタンをクリックします。
新しい操作の設定画面
「プログラム/スクリプト」の右側の「参照」ボタンをクリックし、開きたいファイルや実行したいexeファイル、batファイルなどのプログラムファイルを指定します。
この設定は必須項目です。
「引数の追加」は上記で指定した実行対象のプログラムなどに起動引数を渡したい場合に使用します。
例えば、「プログラム/スクリプト」を以下の様に指定します。
「引数の追加」では以下の指定をします。
こうすることで、iexplore.exeに対して起動引数としてYahooのURLを渡してYahooのトップページを表示させることができます。
「開始」は当処理を実行する際のカレントディレクトリを指定します。
この設定は実行するプログラムの種類や、全般タブ内の「最上位の特権で実行する」のチェックの有無でも変わってくる為、取り敢えずは値を指定せずタスクを登録し、もし上手く動かなければ「開始」の項目に、対象のプログラムやファイルが置かれているフォルダのパスを設定する感じで良いかと思います。
タスクの登録
上記で紹介していないタブ内の設定項目はあまり設定することは無いものが多いので無視して、「タスクの作成」画面下部の「OK」ボタンを押下してタスクを登録します。
通常ユーザー名は対象の端末のWindowsにログインしているユーザー名が表示されている為、そのユーザーのパスワードを入力して「OK」ボタンを押下します。
これで登録が完了します。
タスクスケジューラー 一覧画面へ反映
タスクスケジューラーの一覧画面に戻ります。
先ほど登録したタスクが中央のリストに追加されています。
最後に
今回紹介した手順でタスクスケジューラを登録することで、様々なパソコン上の作業を自動実行、自動起動させることができます。
ただ、タスクスケジューラはファイルを開いたり、アプリケーションやプログラムを決まった時間やタイミングで実行することしかできない為、肝心なのは実行する対象となるアプリケーションやバッチ処理などのプログラムです。
当ブログではVBScriptを中心とした、プログラミング初心者向けの入門記事もいくつか投稿しておりますため、是非当ブログの別の記事と併せてご活用ください。
今回も読んでいただきましてありがとうございました。
↓MS Accessを活用されている人には以下の記事もオススメです。