【Windows標準ツール】タスクスケジューラで定時作業を自動実行!

こんにちは。株式会社テイクーワンのR.Nです。
みなさんの業務には、決まった時刻に行う作業はありますか?
毎週決まった時間に行う作業や、毎朝実施する確認作業はありませんか?
そのような定型作業は、Windows標準機能の「タスクスケジューラ」で自動化できます。
追加ソフトウェアのインストールも不要です。
 

タスクスケジューラとは

指定したトリガーで、指定した動作を行うための機能です。
この機能を使用することで、バッチの自動実行ができるようになります。
Linuxユーザー向けに例えると、cronに近い機能です。
タスクスケジューラウィンドウ
タスクスケジューラ
日時を指定した実行だけでなく、ユーザーのログオン時やコンピューターの起動時などをきっかけに実行することもできます。
 

やってみよう

今回は例として、以下の条件でバッチファイルを自動実行させます。
  • 指定したユーザーがログオンしているときのみ
  • 毎日17:50に起動する
実行するバッチファイルは既に動作確認済みであるものとします。

タスクスケジューラを開く

  1. スタートのすべてのアプリから、Windowsツールを起動します
    スタートのW欄
    Windowsツールを選ぶ
  2. Windowsツールウィンドウが開いたら、タスクスケジューラを起動します
    Windowsツール画面拡大(タスクスケジューラを強調している)
    タスクスケジューラを選ぶ

タスクの作成

  1. 「タスクの作成」を行います
右側の「タスクの作成」が強調されている
タスクの作成
  1. 新規ウィンドウが開いたら、「名前」と「説明」を入力し、セキュリティオプションも確認しておきます
    ここでは指定したユーザーがログオンしているときのみ実行する設定にしておきます
    そのため、指定時刻に対象ユーザーがログオンしていない場合、タスクは実行されません
名前、説明、セキュリティオプションが強調されている
タスクの作成画面
  1. トリガータブに切り替え、「新規」を押して新しいトリガーを作成します
新規ボタンが強調されている
新規トリガーを作成
  1. タスクの開始を「スケジュールに従う」、繰り返しは「毎日」、日時は好きなように設定し、「OK」で新規トリガーを作成します
スケジュールに従い、毎日17:50に実行する設定
新しいトリガー
  1. 操作タブに切り替え、「新規」を押して新しい操作を作成します
新規ボタンが強調されている
新しい操作を作成
  1. 「操作」が「プログラムの開始」であることを確認し、次のように入力します 
    • プログラム/スクリプト:cmd.exe
    • 引数の追加:/c "C:\Scripts\sample.bat"
    • 開始:C:\Scripts
      ここでは、「C:\Scripts\sample.bat」に定期実行したいバッチファイルがあるものとしています。
      バッチファイルのパスに空白が含まれる可能性があるので、パスはダブルクォーテーションで囲みます。
入力欄が強調されている
新しい操作
  1. パスなどに間違いがないことを確認し、「OK」を押します
  2. 引き続き「条件」タブ、および「設定」タブを確認しておきます
    「条件」タブにおいて、ノートPCでバッテリ駆動中にも実行したい場合は、「コンピューターをAC電源で使用している場合のみタスクを開始する」のチェックを外します。電源条件は利用環境に合わせて設定してください。
条件タブ
条件を確認
設定タブ
設定を確認
  1. 「OK」を押してタスクを作成します
 

動作確認

最後に、以下の順番で動作確認を行ってください。

  1. タスク一覧から対象タスクを右クリックし、「実行」で動作を確認
    バッチファイルが正常に実行されることを確認します
  2. トリガー時刻を数分後に変更し、自動実行を確認
    設定した時刻に自動実行されることを確認します
動作確認後は、本番用の設定へ戻し忘れないよう注意してください。
必要に応じて「履歴」タブを開き、正常に実行されたことも確認してください。

終わりに

どうでしょうか? 興味は湧きましたか?
うまく活用すれば、定時作業などにかかる手間を大幅に削減できます。
また、バッチ実行の他にもできることはいくつかあるので、ぜひ活用してみてください。

前へ

Windows・Excelのショートカットを使って仕事を楽に進めよう