Schedule Python Scripts Using Windows Task Scheduler


In this tutorial, you will learn how to schedule a Python 3 script using Windows Task Scheduler. Basically, this project will be very useful when you want to execute your Python code at specific times.

For the sake of this tutorial, I’ll create a Python program that prints “Hello World!” on screen and make it execute every day at 6 am.

import tkinter as tk 

root= tk.Tk() 
canvas1 = tk.Canvas(root, width = 300, height = 300)

label1 = tk.Label(root, text='Hello World!')
canvas1.create_window(150, 150, window=label1)


Create Batch File to Execute the Python Script

Open Notepad, and create a new file. Then save this Notepad file with the “bat” extension. In my case, I’ll save it as Run_Python_Script.bat

Save file as Run_Python_Script.bat

Now provide the path of your Python .exe and file inside this new .bat file. In my case, the paths will be:

  • The path where my Python .exe is stored: “C:\Users\Ron\AppData\Local\Programs\Python\Python37-32\python.exe”
  • The path where my script is stored: “C:\Users\Ron\Desktop\”

You have to adjust these paths according to where you installed Python on your computer as well as where you stored the file.

After that, add the pause command on the next line. Like this:

“C:\Users\Ron\AppData\Local\Programs\Python\Python37-32\python.exe” “C:\Users\Ron\Desktop\”
Content of Run_Python_Script.bat file

This batch file will execute our Python script whenever you double-click on it.

Execute Python file using batch script

Schedule the Python Script using Windows Task Scheduler

Now it’s time to schedule that batch file to run our Python Script using the Windows Task Scheduler.

As I’m on Windows 10, so I’ll use it to run the Python Script via the Windows Task Scheduler. You don’t have to change anything if you’re on a previous version of Windows. The below-mentioned steps will work on all modern versions of Windows such as Windows 7, 8, 10, and 11.

Step 1:-

Open the Control Panel and then click on the Administrative Tools.

Control Panel - Administrative Tools

Step 2:-

Now, double-click on the Task Scheduler and then select the ‘Create Basic Task…’ option.

Task Scheduler - Create Basic Task

Step 3:-

Enter a name for your task. Optionally, you can also provide a description if you like. After that, press “Next”.

In my case, I named the task as “Run Hello World”.

Enter a name for your task

Step 4:-

In the “Task Trigger” section, select “Daily” because we want our Python script to execute daily at 6 am. After that, press “Next”.

Task Trigger - Daily

Step 5:-

The action will then recur every 1 day at 6 am, starting from 2019-04-01. Kindly adjust those timing details according to your needs.

Task Trigger - Daily - Adjust timing

Step 6:-

Inside the “Action” section, select “Start a program” and then press Next.

Action - Start a program

Step 7:-

Now, use the “Browse” button to search and then select the batch file that runs the Python script. In my case, I placed the Run_Python_Script.bat file on my Desktop.

select the batch file for Windows Task Scheduler

Step 8:-

Finally, it’s time to click “Finish”, and you will be good to go.

Finish creating Windows Task Scheduler

Now, you’ll see the “Hello World!” message every day exactly at 6 am.

Run Python Script Using Windows Task Scheduler

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.