2015-09-01 99 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腳本中的網絡地址,現在它在調度程序上運行良好。 –

相關問題