2017-07-27 148 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)

有關如何繼續的任何想法?我對服務器管理任務不是很熟悉,所以我覺得這裏很迷茫。

回答

相關問題