You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Windows任务计划程序识别Python脚本非零退出码并显示错误?

Windows任务计划程序识别Python脚本非零退出码为失败的解决方案

问题概述

  • Python脚本通过exit(<非0值>)退出时,Windows任务计划程序的任务历史未标记为错误
  • 尝试用.bat文件包裹脚本并手动设置exit 123,但未达到预期效果
  • 需求:让任务计划程序将脚本的非零返回码识别为任务失败,在历史窗口中显示错误状态

可行解决方案

方案1:直接配置任务计划程序运行Python脚本

无需通过bat中转,直接在任务计划程序里设置:

  1. 打开任务的操作选项卡,将程序/脚本设为Python可执行文件的完整路径(例如C:\Python310\python.exe)
  2. 在添加参数栏填入脚本的完整路径,注意加引号:"D:\projects\your_failed_script.py"
  3. 进入设置选项卡,确保勾选如果任务失败,重复尝试(可选),Windows任务计划程序默认会把非零退出码判定为任务失败,只要脚本正确返回非零值,历史中就会显示错误状态

方案2:修正bat脚本的退出码传递

如果必须用bat包裹,要确保bat正确传递Python脚本的退出码,而不是手动指定固定值:

@echo off
REM 运行Python脚本
python "D:\projects\your_failed_script.py"
REM 将Python的退出码传递给任务计划程序
exit /b %errorlevel%
  • %errorlevel%会自动捕获Python脚本的返回码,exit /b命令把这个码传递给上层的任务计划程序,这样任务就能识别到脚本的真实退出状态

验证效果

任务运行后,查看任务历史:

  • 当脚本返回非零码时,任务历史会出现任务已完成,但出现错误的记录(对应你提供的“显示错误而非信息”的截图效果)
  • 若任务仍未标记错误,检查Python脚本是否确实返回了非零码(可以在命令行手动运行脚本,用echo %errorlevel%查看返回值)

内容的提问来源于stack exchange,提问作者michelson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 10:42:12