Windows 10 上的任务计划程序问题

Windows 10 上的任务计划程序问题

我正在尝试在 Windows 10 上运行一个 Python 脚本,该脚本应在系统启动时自动在后台启动。因此,我在任务计划程序中创建了一个具有最高权限的任务,触发器:启动时,操作:包含 pythonw.exe 路径的程序/脚本和包含脚本路径(引号中)的参数。但我仍然无法在系统启动时自动运行该任务,但如果我在任务计划程序上手动运行该任务,任务就会开始运行并正常工作

Python脚本代码如下:

import time
from datetime import datetime as dt
hosts_temp = r"D:\Python Udemy Course\Application3\hosts"
hosts_path = r"C:\Windows\System32\drivers\etc\hosts"
redirect = "127.0.0.1"
website_list = ["www.facebook.com", "facebook.com", "www.twitter.com", "twitter.com"]

while True:
    if dt(dt.now().year, dt.now().month, dt.now().day, 8) < dt.now() < dt(dt.now().year, dt.now().month, dt.now().day, 21):
        print("Working hours...")
        with open(hosts_path, 'r+') as file:
            content = file.read()
            for website in website_list:
                if website in content:
                    pass
                else:
                    file.write(redirect + " "+ website + "\n")
    else:
        print("Fun hours...")
        with open(hosts_path, 'r+') as file:
            content = file.readlines()
            file.seek(0)
            for line in content:
                if not any(website in line for website in website_list):
                    file.write(line)
            file.truncate()
    time.sleep(5)

答案1

从任务计划程序运行 python 时 - 由于路径和用户上下文中的环境变量,自动化失败(但手动运行)。它失败是因为它不知道如何从自动化方面正确运行它。以下是解决问题的方法 -

创建一个类似于以下内容的 .bat 文件来执行您的 .py 代码。这将直接调用 python exe。您的路径/版本可能不同。

"c:\python27\python.exe" "C:\myPythonProgram.py"

接下来,将蝙蝠路径添加到任务计划程序中的操作选项卡,以便路径如下所示:

"c:\pyBatImadeLastStep.bat"

请勿输入程序/脚本框以外的任何值。

相关内容