Windows 调度程序中的 bat 文件不是 运行 python 脚本

bat file in Windows scheduler not running python script

我正在尝试 运行 python 脚本来更新 ppt 演示文稿。一年前我也尝试过 运行 回归并更新 SQL 中的 table,但也没有 运行。解决不了就放弃了

我已经成功地在 windows 调度程序中为 运行 R 代码创建了一个 bat 文件并且可以正常工作。

我已经创建了 bat 文件并在命令提示符下对其进行了测试,它是 py 文件 运行s 并更新了 ppt 演示文稿。

当我 运行 在 windows 调度程序中的这个 bat 文件不更新 ppt。

目前bat文件如下:

@echo off​
SET log_file=C:\python\logfile.txt

echo on
call :logit >>log_file=%
exit /b 0 ​ 

:logit
call C:\ProgramData\Anaconda3\Scripts\activate.bat
cd C:\python\
python Updateppt.py 

这些是我到目前为止尝试过的东西:

C:\python>call C:\ProgramData\Anaconda3\Scripts\activate.bat 

(base) C:\python>cd C:\python\ 

(base) C:\python>python Updateppt.py  

我能做些什么来让它工作吗?我真的对此不知所措,我似乎无法找到实际解决我遇到的问题的堆栈溢出响应

更新

我在每个函数 运行 之后和最后一个函数之前添加了时间,日志文件显示当它在 windows 调度程序中为 运行 时,它不会运行 最后一个函数,而是循环回到第一个函数。它不会在命令提示符下执行此操作

windows 调度程序 运行 python

的日志
INFO:root:run script started at 2022-04-29 13:18:31.318567
INFO:root:loaded enc data at 2022-04-29 13:18:32.072627
INFO:root:create enc_id at 2022-04-29 13:18:32.075627
INFO:root:agg data at 2022-04-29 13:18:59.782707

INFO:root:run script started at 2022-04-29 13:19:22.904437
INFO:root:loaded enc data at 2022-04-29 13:19:23.225462
INFO:root:create enc_id at 2022-04-29 13:19:23.228464

python

的命令提示符日志
INFO:root:run script started at 2022-04-29 13:20:48.871881
INFO:root:loaded enc data at 2022-04-29 13:20:49.051893
INFO:root:create enc_id at 2022-04-29 13:20:49.054894
INFO:root:agg data at 2022-04-29 13:21:05.040096
INFO:root:run script stopped at 2022-04-29 13:21:05.436125

它应该聚合数据然后导出到 ppt,脚本将停止并且 运行 'run script stopped' 行。为什么它会在命令提示符下正确 运行 而不是 windows 调度程序?

这不是代码 运行ning

def update_ppt(CHW_daily):
    
    daily_figures = Presentation(ResultPath+'Template/daily_figures_template.pptx')
    
    # CHW table
    slide_CHW = daily_figures.slides[0]
    table_CHW = [shape for shape in slide_CHW.shapes if shape.has_table]
    
    #Then we can update the values in each cell directly from the dataframe:
    for i in range(1,8):
        for j in range(0,6):
          table_CHW[0].table.cell(i,j).text = str(CHW_daily.iloc[i-1, j])
          table_CHW[0].table.cell(i,j).text_frame.paragraphs[0].font.size = Pt(14)
         
   daily_figures.save(ResultPath+'daily_figures.pptx')        
    
    return() 

问题是文件无法保存在网络驱动器中。错误说找不到文件路径。我使用这段代码解决了问题:

from pathlib import Path
ResultPath = Path(r'<network domain name>/Daily figures/')
ResultPath_str = str(ResultPath)
daily_figures = Presentation(ResultPath_str+'/'+Template/daily_figures_template.pptx')