如何使用Python运行Windows任务计划程序中已创建的任务?
使用Python运行Windows 10任务计划程序中的任务
当然可以实现!既然你已经知道通过CMD的schtasks命令能触发任务,Python完全可以通过调用系统命令的方式做到这一点,最直观且容易上手的方法就是使用Python标准库中的subprocess模块。
具体实现步骤
Windows CMD中运行任务的核心命令是:
schtasks /run /tn "你的任务完整名称"
其中"你的任务完整名称"需要和任务计划程序里的路径一致——比如你的任务放在「任务计划程序库→我的自定义任务」文件夹下,那名称就要写成"\我的自定义任务\具体任务名"。
对应到Python中,我们可以用subprocess.run()来执行这个命令,还能捕获执行结果和错误信息:
import subprocess def trigger_scheduled_task(task_full_name): try: # 构造schtasks命令参数列表 cmd_args = ['schtasks', '/run', '/tn', task_full_name] # 执行命令并捕获输出 execution_result = subprocess.run( cmd_args, check=True, capture_output=True, text=True ) print(f"任务触发成功!系统返回信息:{execution_result.stdout.strip()}") except subprocess.CalledProcessError as err: print(f"触发任务失败,错误信息:{err.stderr.strip()}") # 替换成你自己的任务完整名称 trigger_scheduled_task("\我的自定义任务\每日备份脚本")
注意事项
- 任务名称准确性:一定要填写任务的完整路径名称,不然系统会找不到对应的任务;
- 权限问题:如果你的任务需要管理员权限才能运行,那启动Python脚本的终端/IDE也必须以管理员身份打开;
- 备选方案:如果你想更深入地和Windows任务计划程序交互,也可以使用
pywin32库的win32com.client模块调用系统API,但这种方式相对复杂,对于仅触发任务的需求,subprocess足够简单高效。
内容的提问来源于stack exchange,提问作者Bran
相关产品推荐
相关产品推荐

