2017-07-27 67 views
0

因此,我研究并测试了多种方法以使其发挥作用,但我们的IT人员和我自己都不确定如何继续。最终,我需要在服务器上运行三个python脚本,这些脚本查看一组Excel文件并扫描错误。如果有错误,它会通过电子邮件向适当的人员解决问题。当通过CMD提示运行时,脚本本身可以正常工作,无论是单独还是批处理文件。当从命令提示符手动运行时,这些脚本完美工作。无法通过计划程序正确运行Python脚本

但是,当我尝试安排其中一个脚本或批处理文件时,它们不会全部运行。我在脚本的早期有一个打印语句,并且在Python.exe中运行正常,但脚本突然退出。这让我认为Python运行良好,但脚本的内容没有通过调度器正确运行。

为了简化故障排除,我创建了两个测试脚本test.py和test2.py,并将它们放在服务器的简单目录C:\ Store中。第一个脚本所做的就是向控制台输出一些内容,然后将某些内容写入文件并将其保存到根目录,然后等待用户输入。第二个脚本更简单,只是打印Python的体系结构和构建路径。这两个脚本在手动从命令提示符运行时工作正常。

**test.py** Does NOT Work as scheduled task 
import io 

print('JUST WORRRRRKKK!') 

with open("//kaicmapp/Store/foobar.txt", "w") as file: 
    file.write("Hello!") 

    file.close() 

raw_input("press any button") 



**test2.py** Works as scheduled task 
import sys 
import platform 

print("Python EXE  : " + sys.executable) 
print("Architecture : " + platform.architecture()[0]) 

raw_input("\n\nPress ENTER to quit") 

什么我使用这些测试脚本:

  • Python 2.7版32位
  • Windows Server 2012中
  • Windows用户配置文件具有管理员权限
  • Python 2.7版的exe添加环境变量。在更名安装目录python2.exe,因为我也有Python 3中安装在serverand希望能够以独占方式运行它们

事情我已经尝试:

  • 运行任务计划程序为管理员
  • 运行带/不带最高权限仅在当前用户在
  • 运行记录,无论当前用户的登录
  • 运行,密码正确
  • 进入
  • 在批处理文件
  • 该解决方案在这两个脚本

事情我已经注意到上市here,导致同样的结果运行脚本:

  • 使用python2“C:\商店\ test2.py“将在调度程序中成功运行脚本,并提示等待用户输入。从调度程序运行结果说该操作已成功完成。 (0x0)
  • 使用与上面相同的任务,但运行test.py而不会导致Python shell的任何输出,它只会弹出并消失。从调度程序运行结果说函数不正确。(0x80070001)

有关如何继续的任何想法?我对服务器管理任务不是很熟悉,所以我觉得这里很迷茫。

回答

相关问题