2015-09-01 97 views
0

因此,我有一个正在复制文件夹之间的一堆文件的python脚本。该脚本完全按照预期运行,直到我尝试使用任务计划程序使其定期运行。我有几种不同的方式运行它,它总是运行良好,但是当我创建一个计划任务时,它给了我一个错误(它说它找不到我确认存在的文件夹)。我已经尝试创建批处理文件来通过任务计划程序启动python脚本,但它不起作用,即使它在我手动运行批处理文件时有效。我也试过通过调度程序调用python来调度python脚本作为参数,但它不起作用。通过python手动运行也可以,双击python脚本工作。只有通过调度程序才能让它运行。只要说这很令人沮丧。有任何想法吗?未在任务计划程序中运行的Python脚本

+1

您是否使用文件夹的完整路径? – NightShadeQueen

+0

http://gis.stackexchange.com/questions/140110/running-python-script-in-task-scheduler-script-will-not-run –

+0

也许这[回答](http://stackoverflow.com/a/4209102/355230)提供了线索。 – martineau

回答

1

当创建使用任务计划程序任务,确保充分路径的一切,例如:

Program/script: C:\Python27\python.exe 
Add arguments (optional): -u "C:\Users\MyUserName\Documents\MyScript.py" 
Start in (optional): C:\Users\MyUserName\Documents 

其次,你也可以强制工作文件夹从您的脚本中:

import os 
os.chdir(os.path.dirname(os.path.abspath(__file__))) 
+0

尽量使用完整路径,但仍未获取结果。这行python代码os.chdir(os.path.dirname(os.path.abspath(__ file__)))是否需要在文件名和路径中指定脚本的位置? –

+0

运行脚本时,Python没有预填充“__file__”。如果你从命令行尝试它,它没有被定义。 –

+0

事实证明,它没有运行的原因是因为它将文件复制到另一台服务器,并且我正在使用python脚本中的映射驱动器号而不是服务器的网络地址。我切换到python脚本中的网络地址,现在它在调度程序上运行良好。 –

相关问题