2
votes

I am trying to automate a python script through the Windows Task Scheduler but its not working. At the end of my python script. two CSV files should be created but they arent.

I tried the following: 1. Copied the address of my python.exe to Program/Script.

C:\Program Files\Python35\python.exe

  1. In the Add arguments, i put the name of my file

Historical Aggregation.py

  1. In the Start in (optional), i put the path of my python script

C:\Users\myname\PycharmProjects\Project1

Am I missing something

3

3 Answers

6
votes

To simplify, we can create a really short .bat file, that will only receive the necessary command to run your python script.

To do so, try this:

Create a executePy.bat file in the same folder than your Python file (C:\Users\myname\PycharmProjects\Project1), with content:

@echo off
"C:\Program Files\Python35\python.exe" "Historical Aggregation.py"

Then, on your task scheduler, simply schedule a test with Program/Script:

"C:\Users\myname\PycharmProjects\Project1\executePy.bat"

Leave Add Arguments and Start In in blank. Now, your task should be ready to run.

3
votes

I had a very similar issue, and solved it in a different way. Here my step by step guide:

  1. Transform the python script to an .exe, using in the DOS cmd prompt the command:

    pyinstaller -- onefile [name of the file.py]

  2. Place the CSV file that you want to update in the same folder as the .exe file created

  3. Create a basic task on Windows Scheduler, with the following properties:

    • General - select

      • Run whether user is logged on or not
      • add the PC password. For my PC, use the user name DESKTOP-M40FS79\dario and the PC password
      • Run with highest privileges
    • Triggers – select

      • Daily
      • Repeat task every 30 minutes
      • Stop task if it runs longer than 15 minutes
    • Actions

      • Under Program/ Script insert the path to your .exe file, for instance, C:\Pythondata\dist\test.exe
      • Under Start in (optional) insert the path to the directory where the CSV and .exe files are, for instance C:\Pythondata\dist\
    • Conditions - select

      • Start the task only if the computer is on AC power, and make sure you have connected the power
      • Wake the computer to run this task
    • Settings – leave the default options

  4. Save the task by inserting the password

  5. Leave the task status on “Ready”

Good luck!

2
votes

Another approach would be to set fields as:

  1. Program/Script - your python path (with quotation marks):

"C:\Program Files\Python35\python.exe"

  1. Add arguments - full file name of the script, including it's path (with quotation marks):

"C:\Users\myname\PycharmProjects\Project1\Historical Aggregation.py"