Windows 10 のタスク スケジューラで Python スクリプトをスケジュールする

Hafiz Muhammad Zohaib 2024年2月15日
Windows 10 のタスク スケジューラで Python スクリプトをスケジュールする

この記事では、Windows 10 で Python スクリプトをスケジュールするプロセスについて説明します。Windows 10 のタスク スケジューラは、実行するタスクをスケジュールできるプログラムまたはツールです。

特定の条件が満たされたときに実行される定義済みのアクションを選択できます。

たとえば、バックアップ スクリプトを毎晩決まった時間またはスケジュールされた時間に実行できます。 事前定義されたイベントが発生したときにアカウントに電子メールを送信するタスク スケジューラを作成できます。

Windows 10 で Python スクリプトをスケジュールする

Windows タスク スケジューラで Python スクリプトをスケジュールするには、複数の手順が必要です。

  1. まず、Python インタープリターが Windows にインストールされているかどうかを確認します。 これを確認するには、下の図に示すように、コマンド プロンプトを開いて python3 と入力します。

    このような出力が得られます。 これは、Python インタープリターが既にインストールされていることを意味します。

    cmd python3

    Python コマンド ラインも開きます。 これを終了するには、Ctrl+Z を押してから Enter します。

  2. 次に、Python インタープリターがインストールされている場所を見つける必要があります。 これを確認するには、次のコマンドを記述します。

    python -c "import os, sys; print(os.path.dirname(sys.executable))"
    

    これにより、次のようなパスが返されます。

    os パス dirname

    これは、出力ディレクトリに移動することで確認できます。 後で使用するために、このパスを python.exe で保存します。

  3. スケジュールするスクリプトを準備する必要があります。 デモの目的で、実行するたびに時間をテキスト ファイルに書き込む簡単なスクリプトを作成します。

    コードは次のとおりです。

    import datetime
    
    text_file = open(
        r"C:\Users\senar\Desktop\Content Writing\schedule script\result.txt", "a"
    )
    text_file.write(f"{datetime.datetime.now()} - the script ran. \n")
    

    上記のコードは、テキスト ファイルを開き、現在の時刻を書き込みます。 このスクリプトを .py ファイルとしてディレクトリに保存し、そのパスを書き留めます。

    これで、スクリプト用とステップ 2 の Python インタープリター用の 2つのファイル パスができました。

  4. Windows スタートアップに移動し、タスク スケジューラ を検索して開きます。 次のウィンドウが表示されます。

    タスク スケジューラ

  5. 右側のサイドバーからタスクの作成を選択し、以下に示すようにタスクの詳細を入力します。

    タスクの作成

  6. トリガー タブに移動し、新規 ボタンを押します。 以下のウィンドウが表示されます。

    ここで、スケジュールの詳細を入力します。 詳細を入力し、OKボタンを押します。

    新しいトリガー

  7. アクション タブに移動し、新規 ボタンを押します。

    アクション タブ

  8. アクションタブで、プログラムの開始アクションとして選択し、次の 3つの詳細を入力します。

    • Program/script - ステップ 2 からの Python インタープリターへのパス。
    • 引数を追加 (オプション) - スクリプト名 (例: schedule_script.py)
    • 開始 (オプション) - ステップ 3 の Python スクリプトへのパス。

新しいアクション

その後、OKを押してから、もう一度OKを押します。 次のウィンドウが表示されます。

パスワードを入力し、OKを押します。 あなたのタスクは、スケジュールされたタスクに表示されます。

スケジュールされたタスク

これで、スケジューリング プロセスは完了です。 トリガーを有効にすると、追加したトリガーの詳細に従って Python スクリプト コードが自動的に実行されます。

上記のスクリプトは結果を生成します。

タスクログ

上記のように、5 分ごとに Python スクリプトが自動的に実行され、次の行に詳細が追加されます。