带有 python 脚本的批处理文件出错

Batch file with python script gives an error

我在批处理文件中有一个 python 脚本,代码如下。当我双击 .bat 文件以 运行 时,这 运行 没问题。但是,当我通过 Task Scheduler 运行 它时,它给出了 0x1 运行 错误。我尝试过试验,似乎删除 >log.txt 2>&1 允许它从任务计划程序 运行 。我添加了这一行来记录任何异常并将语句打印到 txt 文件中。有谁知道为什么它会导致任务计划程序出错,但在手动执行批处理文件时却不会?

python "C:\Users\XXX\untitled0.py" >log.txt 2>&1

0x1 run error 是权限错误导致的。在您的情况下,问题可能是任务计划程序实际上缺乏写入 log.txt 文件的权限,正如您所描述的,运行 没有 >log.txt 2>&1 的脚本没有问题.

将脚本移动到 "C:\untitled0.py" 并使用那里的任务计划程序 运行 它

计划任务使用(通常)C:\Windwos\System32 的工作文件夹运行,该文件夹被写保护。

给出完整路径:... > "%userprofile%\xxx\log.txt 2>&1
或者在切换到脚本所在的文件夹之前执行 cd /d "%~dp0