计划任务里上次运行结果显示 0x0 脚本却什么都没做 手动双击同一个 bat 能正常生成文件 从任务里跑就找不到相对路径下的配置。日志里能对上时间点,这种反而好排。

计划任务默认把工作目录放在 system32 脚本里的相对路径全部落空 读不到同目录的配置文件也不会报错 进程直接安静地退出 任务还被标记成成功。这一点先确认清楚,后面就不用反复试。

cd /d %~dp0
python D:\jobs\sync.py >> D:\logs\sync.log 2>&1
:: 计划任务里的起始于填 D:\jobs

这次卡住的地方就在「Windows 计划任务 起始目录」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。

处理上按这个顺序:在操作的编辑窗口里把起始于填成脚本所在目录;脚本内部再补一次切到自身所在目录的兜底动作;配置和日志一律写成绝对路径 不要依赖当前目录。

结果对不对很好判断,手动运行任务后日志和输出文件出现在脚本目录 内容完整。

作者 9823189