Pythonでせっかく便利なプログラムを作ったのに、毎回手動で実行していませんか?
実は、Windowsの標準機能の簡単な設定で、Pythonプログラムを定期実行することができます。
この記事では、Pythonプログラムを自動で定期実行させる方法を、初心者の方にもわかりやすく解説しています。
初心者で何から始めていいかわからない方は、サンプルコードと画像付きで丁寧に手順を解説しているので、是非みていってください!!
Pythonプログラム自動実行の概要
本記事では、大きく3ステップでPythonプログラムを自動実行していきます。
それぞれのステップで何をしているのか?ここでは簡単に説明します。
- 実行用pyファイルの作成
定期実行するための、Pythonの実行用プログラムを作成します。
簡単なサンプルのPythonコードを用意してます。 - 実行用batファイルの作成
準備したPythonプログラムを起動するためのbatファイルを作成します。
batファイルを起動することで、Pythonファイルが実行されるようにします。
batファイルを使用することで、Pythonファイルを複数並列で呼び出したり、順次に呼び出すことも可能です。 - タスクスケジューラの設定
Windows標準機能のタスクスケジューラを設定し、準備したbatファイルを定期実行します。タスクスケジューラの基本的な設定方法を解説します。
※OSは、Windows11を前提として進めます。
※Macをご利用の場合、本記事手順では設定できない可能性がありますこと、ご了承ください。
実際に環境構築してみよう
それでは、ここから3ステップでPythonプログラムを自動実行していきます。
実行用pyファイルの作成
1-1.Jupyter Notebookを起動し、任意の階層で[New]>[Python3]の順にクリックします。

Jupyter Notebookの環境設定・起動手順については、以下の記事を参照ください。
1-2.ファイルが作成されるので、ファイル名を任意の名前に変更します。(例 TestRun.ipynb)

1-3.以下のサンプルコードを貼り付けます。
import os
def create_text_file(file_path, content):
"""
指定されたパスにテキストファイルを作成し、内容を書き込みます。
必要なディレクトリが存在しない場合は自動的に作成します。
Args:
file_path (str): 作成するファイルのパス (例: 'dir1/dir2/file.txt')
content (str): ファイルに書き込む内容
"""
# ファイルの親ディレクトリが存在しない場合は作成
os.makedirs(os.path.dirname(file_path), exist_ok=True)
# ファイルを開いて書き込み
with open(file_path, 'w', encoding='utf-8') as f:
f.write(content)
# 使用例
file_path = 'D:\\cmd\\Python\\sample.txt'
content = 'これはサンプルテキストです。'
create_text_file(file_path, content)

コードの17行目は、サンプルテキストファイルを出力するフォルダ階層を指定します。
例のまま使用する場合、Dドライブの割り当てを必ずしてください。
また、フォルダパスは「\(バックスペース)」を二重にして記載してください。
※「\」を階層として記載する場合は、二重でエスケープ処理する必要があります。
# 誤(エスケープ処理なし)
file_path = 'D:\cmd\Python\sample.txt'
# 正(エスケープ処理あり)
file_path = 'D:\\cmd\\Python\\sample.txt'
1-4.試しにサンプルコードを実行してみます。コード入力欄にカーソルを合わせて、[Shift]と[Enter]キーを同時に押下します。
下画像のように、指定した階層に「sample.txt」が出力されれば、コマンドの処理完了です。(例では、「D:\cmd\Python」配下にsample.txtが作成されます。)
コマンドが動いたことを確認できたら、「sample.txt」を削除しておきます。

1-5.作成したサンプルコードをpyファイルに出力します。画面上部の[File]>[Save and Export Notebook As]>[Executable Script]の順にクリックします。

pyファイルがダウンロードされるので、任意の階層へ移動します。
例では、「D:\cmd\Python」直下の階層に移動しました。

実行用batファイルの作成
2-1.作成したpyファイルを起動するためのbatファイルを作成します。
任意のテキストエディタ(メモ帳など)を開き、以下のコードを貼り付けます。
@echo off
rem ファイルのパス
set filepath1="D:\cmd\Python\TestRun.py"
rem Pythonのパス
set pythonpath="C:\Users\User\AppData\Local\Programs\Python\Python312\python.exe"
rem Pythonの実行
%pythonpath% %filepath1%
rem コマンド終了
exit
2-2.サンプルコードの4行目(set filepath1=以降)を編集します。
set filepath1="D:\cmd\Python\TestRun.py"
前章で作成したpyファイルの格納先パスを指定します。
例では、”D:\cmd\Python\TestRun.py”に格納してます。
※ここでは、エスケープ処理不要です。(\を二重にしない。)
2-3.サンプルコードの7行目(set pythonpath=以降)を編集します。
※ここでは、エスケープ処理不要です。(\を二重にしない。)
set pythonpath="C:\Users\User\AppData\Local\Programs\Python\Python312\python.exe"
Pythonのインストール先のパスを指定します。
Pythonのインストール先を探すには、デスクトップ画面から[コマンドプロンプト]を起動し、ターミナル画面に以下のコマンドを入力して、[Enter]キーを押下します。
where python
以下、赤枠がPythonのインストール先のパスです。

2-4.テキストファイルを任意の階層に保存し、拡張子を[bat]に変更します。
例では、「D:\cmd\Python」直下の階層に「TestRun.bat」というファイル名で保存しました。

2-5.batファイルが動くか試してみます。作成したbatファイル(例 TestRun.bat)をダブルクリックします。
下画像のように、指定した階層に「sample.txt」が出力されれば、コマンドの処理完了です。(例では、「D:\cmd\Python」配下にsample.txtが作成されます。)
コマンドが動いたことを確認できたら、「sample.txt」を削除しておきます。

タスクスケジューラの設定
3-1.デスクトップ画面下の[ウィンドウ]アイコンをクリックし、[タスクスケジューラ]と検索して表示される「タスクスケジューラ」の[開く]をクリックします。
※以降「タスクスケジューラを開く」と記載した場合は、この手順を実施してください。

3-2.タスクスケジューラ画面の左メニューの[タスクスケジューラライブラリ]を選択し、画面の右メニューの[新しいフォルダー…]をクリックします。

任意のフォルダ名を入力し、[OK]をクリックします。

デフォルトで用意されているシステムタスクが存在してます。
新しく追加するタスクは、明示的にフォルダ階層を分けて管理することをおすすめします。
以降、自分でタスク設定を追加する場合は、作成したフォルダ配下に追加しましょう。
3-3.画面左メニューの先ほど作成したフォルダを選択し、画面右メニューの[タスクの作成…]をクリックします。

3-4.プロパティ画面の「全般」タブを開き、以下の値を参考に設定値を入力します。

3-5.プロパティ画面の「トリガー」タブを開き、[新規]をクリックします。

以下の値を参考に設定値を入力し、[OK]をクリックします。
下画像の赤枠内ラジオボタンで、定期実行の間隔を設定することができます。(例では、毎日14:59:00にタスクが起動するように設定してます。)

3-6.プロパティ画面の「操作」タブを開き、[新規]をクリックします。

以下の値を参考に設定値を入力し、[OK]をクリックします。
- [プログラム/スクリプト]:実行用batファイルの格納先パス(ファイル名含む)を指定
- [開始(オプション)]:実行用batファイルの格納先パス(ファイル名除く)を指定

3-7.プロパティ画面の「条件」タブを開き、以下の値を参考に設定値を入力します。

3-8.プロパティ画面の「設定」タブを開き、以下の値を参考に設定値を入力し、[OK]をクリックします。

タスクを実行するユーザーの認証画面が表示されるので、[ユーザー名][パスワード]を入力し、[OK]をクリックします。

3-9.タスクが新しく追加されます。この時点では、[タスクはまだ実行されていません…]と表示されています。予定時刻にタスクが実行されることを確認しましょう。(予定時刻まで待つ)

3-10.予定時刻になったら、[F5]キーを押下して画面を更新しましょう。[この操作を正しく終了しました…]と表示されていれば、成功です。

下画像のように、指定した階層に「sample.txt」が出力されてます。(例では、「D:\cmd\Python」配下にsample.txtが作成されます。)

3-11.結果が確認できたら、タスクは不要のため、無効化しましょう。作成したタスクの行を選択後、右クリック>[無効]の順にクリックします。
※不要なタスクは無効化をおすすめします。有効のまま残すと、毎日処理が起動してしまいます。


おつかれさまでした!以上でPython自動実行の設定がすべて完了しました。
Pythonでつくったプログラムを自動起動できると、可能性の幅が広がりますね!!是非、いろいろプログラムを仕込んでみてください。当ブログでは、ITに関わるTipsやガジェットのレビュー、資格受験記などを掲載してます。他にご興味のある記事がありましたら、ご一読いただけますと幸いです!
コメント