Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
批处理文件中的Python脚本赢得';无法在任务计划程序中运行_Python_Windows_Python 2.7_Batch File_Scheduled Tasks - Fatal编程技术网

批处理文件中的Python脚本赢得';无法在任务计划程序中运行

批处理文件中的Python脚本赢得';无法在任务计划程序中运行,python,windows,python-2.7,batch-file,scheduled-tasks,Python,Windows,Python 2.7,Batch File,Scheduled Tasks,大家好,我有以下问题 我在批处理文件中有以下代码: 。\python-2.7.10.amd64\python.exe./bin/bla.py./conf/config.conf>/logs/output.txt 通过双击批处理,这就像一个charme。接下来,我的计划是通过将此批处理添加到windows中的任务计划程序来自动调用它。因此,我将所有相对路径更改为绝对路径: D:\path\to\python-2.7.10.amd64\python.exe D:\path\to\bin\bla.py

大家好,我有以下问题

我在批处理文件中有以下代码:
。\python-2.7.10.amd64\python.exe./bin/bla.py./conf/config.conf>/logs/output.txt

通过双击批处理,这就像一个charme。接下来,我的计划是通过将此批处理添加到windows中的任务计划程序来自动调用它。因此,我将所有相对路径更改为绝对路径:

D:\path\to\python-2.7.10.amd64\python.exe D:\path\to\bin\bla.py D:\path\to\conf\config.conf>D:\path\to\logs\output.txt

双击批处理文件仍然可以实现这一点

因此,我的下一步是将批添加到任务计划程序中,但当我从那里运行它时,会收到以下错误消息:

Traceback(最近一次调用):文件“D:\path\to\bin\bla.py”,第159行,在logging.config.fileConfig(logFile)文件“D:\path\to\python-2.7.10.amd64\lib\logging\confi eConfig formatters=\u create\u格式化程序(cp)文件”D:\path\to\python-2.7.10.amd64\lib\logging\confi create\u格式化程序flist=cp.get(“格式化程序”、“密钥”)文件“D:\path\to\python-2.7.10.amd64\lib\ConfigParser。raise NoSectionError(节)ConfigParser.NoSectionError:无节:“格式化程序”

因此,出于某种原因,python脚本无法通过绝对路径找到conf文件,我想,但我不明白为什么。我还尝试了任务调度器中的相对路径,显然它也不起作用


你们有人知道为什么它直接从批处理而不是从任务调度程序中工作吗?

谢谢大家的帮助。它确实是“仅仅”我必须设置为bat文件位置的工作目录

您是否将计划任务中的工作目录设置为批处理文件的位置?很难说,因为我们看不到您的python脚本代码。尝试添加脚本和关于如何在任务计划程序中设置任务的说明。这可能是权限问题,因为任务计划程序可以作为系统而不是用户运行。另一件事,请尝试添加命令:cd“”,这可能会有所帮助,因为使用任务计划程序运行批处理文件会在用户文件夹/系统文件夹(system32文件夹)中自动启动。关于“D:”有什么特别的吗?它是网络共享还是子共享?那么环境变量(尤其是路径)呢?从TaskScheduler运行的程序在不同的会话中运行,并且通常在不同的用户帐户下运行。驱动器号分配可以不同。通常,硬盘驱动器不会有所不同,但网络共享和SUBST通常在登录会话的本地。嗯,因为脚本似乎已经开始了,“D”必须足够正常。