【Windows標準ツール】タスクスケジューラで定時作業を自動実行!
こんにちは。株式会社テイクーワンのR.Nです。
みなさんの業務には、決まった時刻に行う作業はありますか?
毎週決まった時間に行う作業や、毎朝実施する確認作業はありませんか?
そのような定型作業は、Windows標準機能の「タスクスケジューラ」で自動化できます。
追加ソフトウェアのインストールも不要です。
タスクスケジューラとは
指定したトリガーで、指定した動作を行うための機能です。
この機能を使用することで、バッチの自動実行ができるようになります。
Linuxユーザー向けに例えると、cronに近い機能です。
日時を指定した実行だけでなく、ユーザーのログオン時やコンピューターの起動時などをきっかけに実行することもできます。
やってみよう
今回は例として、以下の条件でバッチファイルを自動実行させます。
- 指定したユーザーがログオンしているときのみ
- 毎日17:50に起動する
実行するバッチファイルは既に動作確認済みであるものとします。
タスクスケジューラを開く
- スタートのすべてのアプリから、Windowsツールを起動します
Windowsツールを選ぶ - Windowsツールウィンドウが開いたら、タスクスケジューラを起動します
タスクスケジューラを選ぶ
タスクの作成
- 「タスクの作成」を行います
- 新規ウィンドウが開いたら、「名前」と「説明」を入力し、セキュリティオプションも確認しておきます
ここでは指定したユーザーがログオンしているときのみ実行する設定にしておきます
そのため、指定時刻に対象ユーザーがログオンしていない場合、タスクは実行されません
- トリガータブに切り替え、「新規」を押して新しいトリガーを作成します
- タスクの開始を「スケジュールに従う」、繰り返しは「毎日」、日時は好きなように設定し、「OK」で新規トリガーを作成します
- 操作タブに切り替え、「新規」を押して新しい操作を作成します
- 「操作」が「プログラムの開始」であることを確認し、次のように入力します
- プログラム/スクリプト:cmd.exe
- 引数の追加:/c "C:\Scripts\sample.bat"
- 開始:C:\Scripts
ここでは、「C:\Scripts\sample.bat」に定期実行したいバッチファイルがあるものとしています。
バッチファイルのパスに空白が含まれる可能性があるので、パスはダブルクォーテーションで囲みます。
- パスなどに間違いがないことを確認し、「OK」を押します
- 引き続き「条件」タブ、および「設定」タブを確認しておきます
「条件」タブにおいて、ノートPCでバッテリ駆動中にも実行したい場合は、「コンピューターをAC電源で使用している場合のみタスクを開始する」のチェックを外します。電源条件は利用環境に合わせて設定してください。
- 「OK」を押してタスクを作成します
動作確認
最後に、以下の順番で動作確認を行ってください。
- タスク一覧から対象タスクを右クリックし、「実行」で動作を確認
バッチファイルが正常に実行されることを確認します - トリガー時刻を数分後に変更し、自動実行を確認
設定した時刻に自動実行されることを確認します
動作確認後は、本番用の設定へ戻し忘れないよう注意してください。
必要に応じて「履歴」タブを開き、正常に実行されたことも確認してください。
終わりに
どうでしょうか? 興味は湧きましたか?
うまく活用すれば、定時作業などにかかる手間を大幅に削減できます。
また、バッチ実行の他にもできることはいくつかあるので、ぜひ活用してみてください。
