※本記事はアフィリエイト広告(Amazonアソシエイト・もしもアフィリエイト)を含みます。価格やサービス内容は変わることがあるため、最新の情報は公式サイト・商品ページでご確認ください。
Windowsで「毎朝3時にバックアップ」「15分ごとにデータを取得」のような定期実行をするなら、標準で入っているタスクスケジューラを使います。この記事では、Pythonやバッチファイル、PowerShellのスクリプトを定期実行する手順と、24時間動かすPCで動かない・止まる原因になりやすい設定をまとめます。
タスクスケジューラの開き方
- スタートメニューで「タスク スケジューラ」と検索して開く
- または Windowsキー+R で
taskschd.mscを実行する
基本の作り方(基本タスクの作成)
- 右側の「基本タスクの作成」を押し、名前を付ける(例:毎朝バックアップ)
- 「トリガー」で実行するタイミングを選ぶ(毎日/毎週/コンピューターの起動時/ログオン時 など)
- 「操作」で「プログラムの開始」を選ぶ
- 「プログラム/スクリプト」「引数の追加」「開始(オプション)」を入力する(下の表を参照)
- 「完了」を押す
スクリプトの種類ごとの入れ方
| 種類 | プログラム/スクリプト | 引数の追加 | 開始(オプション) |
|---|---|---|---|
| Python | python.exe のフルパス (例:C:\Users\ユーザー名\AppData\Local\Programs\Python\Python312\python.exe) | スクリプトのパス(例:C:\scripts\job.py) | スクリプトのあるフォルダ(例:C:\scripts) |
| バッチファイル | バッチファイルのパス(例:C:\scripts\backup.bat) | (なし) | バッチファイルのあるフォルダ |
| PowerShell | powershell.exe | -ExecutionPolicy Bypass -File “C:\scripts\job.ps1” | スクリプトのあるフォルダ |
「開始(オプション)」は空欄にしないのがおすすめです。ここが空だと、スクリプトの中で「同じフォルダのファイル」を読もうとしたときに見つからず、手で実行すると動くのにタスクだと失敗する、という原因になります。
python.exe のフルパスは、コマンドプロンプトで where python を実行すると確認できます。
15分ごとなど「繰り返し」実行したいとき
基本タスクで作ったあと、タスクをダブルクリック →「トリガー」タブ →「編集」を開き、「繰り返し間隔」にチェックを入れて間隔(5分・10分・15分・30分・1時間など)を選びます。その下の「継続時間」を「無期限」にすると、ずっと繰り返します。
24時間稼働PCで見直したい設定
タスクをダブルクリックして開くプロパティで、次の項目を確認しておくとトラブルが減ります。
| タブ | 項目 | おすすめ |
|---|---|---|
| 全般 | ユーザーがログオンしているかどうかにかかわらず実行する | サインインしていなくても動かしたい処理はオン(パスワードの入力が必要。画面にウィンドウは表示されません) |
| 全般 | 最上位の特権で実行する | 管理者権限が必要な処理だけオン |
| 条件 | コンピューターをAC電源で使用している場合のみタスクを開始する | ノートPCやUPS使用時に止まらないよう、必要に応じてオフ |
| 条件 | タスクを実行するためにスリープを解除する | スリープさせているPCならオン |
| 設定 | スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する | オン(停電や再起動で実行時刻を逃したときに取り戻せる) |
| 設定 | タスクを停止するまでの時間 | 常駐させる処理なら、チェックを外す(初期値は3日で止まる) |
ちゃんと動いたか確認する
- タスクの一覧の「前回の実行結果」が
この操作を正しく終了しました。(0x0)なら成功です。0x1などはスクリプト側でエラーが出ています。 - 右側の「すべてのタスク履歴を有効にする」を押しておくと、「履歴」タブで実行の記録を見られます。
- スクリプトの中でログファイルに書き出しておくと、失敗したときの原因を追いやすくなります。
コマンドで作ることもできる
同じ設定を何台ものPCに入れたいときは、コマンドプロンプトの schtasks で作ることもできます。たとえば毎日3:00にバッチファイルを実行するなら、次のようになります。
schtasks /create /tn "毎朝バックアップ" /tr "C:\scripts\backup.bat" /sc daily /st 03:00
よくあるつまずき
- 手で実行すると動くのにタスクだと失敗する:「開始(オプション)」が空、相対パスを使っている、ネットワークドライブ(Z: など)を使っている、のどれかが多い原因です。
- ウィンドウが出ない:「ログオンしているかどうかにかかわらず実行する」にすると、画面には表示されずに裏で動きます。画面に出したいソフトは「ログオンしているときのみ実行する」にします。
- Windows Updateの再起動で止まる:Windows Updateの勝手な再起動を防ぐ設定と、トリガーを「コンピューターの起動時」にしたタスクを組み合わせると、再起動後に自動で復帰できます。
Linuxならcron
ミニPCにLinuxを入れて使う場合は、タスクスケジューラの代わりにcronを使います。書き方の確認はcron 次回実行時刻チェッカーでできます。
もっと手軽に自動化したいなら
スクリプトを書かずに、マウス操作で自動化の流れを作れる「Power Automate for desktop」もあります。詳しくは個人でも使えるRPA・自動化ツール入門で紹介しています。Amazonで「できるPower Automate for desktop」を見る / 楽天で見る / Yahoo!で見る
📘 ミニPCの24時間自動化を、1冊にまとめました
Kindle本『ミニPCで始める24時間自動化入門』(著:自動化ラボ)。ミニPCの選び方から、電気代・停電対策・定期実行・リモート管理まで、このブログの内容を順番に読めるように整理しました。Kindle Unlimited の対象です。
※PR:自分(自動化ラボ)の本の紹介です。リンクはAmazonアソシエイトを使っています。
関連記事
定型作業の自動化を任せたい方へ
ココナラで作業をお受けしています(筆者のサービスです)。→ Excel・CSV作業をPython+AIで自動化します(ココナラ)

コメント