การเรียกใช้สคริปต์ Python ใน Task Scheduler— สคริปต์จะไม่ทำงาน


14

ฉันมีสคริปต์ที่ฉันต้องการเรียกใช้เป็นประจำทุกเดือนโดยไม่ต้องเปิดและใช้งาน ฉันได้อ้างถึงทุกหน้าเว็บที่ฉันสามารถหาได้จาก Windows Task Scheduler และปฏิบัติตามคำแนะนำของพวกเขา อย่างไรก็ตามการเรียกใช้สคริปต์จาก Task Scheduler จะเปิดสคริปต์ใน Python เท่านั้นและไม่เรียกใช้

ในหน้าต่าง Run Task Scheduler ฉันได้ลองป้อนทั้งพา ธ ไปยังสคริปต์เพียงอย่างเดียวและพา ธ ไปยังสคริปต์ด้วยพา ธ ไปยังโปรแกรม Python ของฉัน ฉันได้ลองป้อนเส้นทางไปยังโปรแกรม Python ของฉันเป็นสคริปต์ด้วยสคริปต์ของฉันเป็นอาร์กิวเมนต์ตามที่แนะนำในโพสต์บล็อกนี้ สคริปต์ของฉันเขียนโค้ดยากดังนั้นฉันไม่คิดว่าฉันจะต้องเพิ่มอาร์กิวเมนต์ใด ๆ

ฉันขาดอะไรที่ชัดเจนหรือไม่


ฉันประสบปัญหาเพราะฉันใช้เส้นทางไปยังโปรแกรม Python ไม่ใช่บรรทัดคำสั่ง Python นั่นคือฉันใช้ "C: \ Python27 \ ArcGIS10.1 \ Lib \ site-packages \ pythonwin \ Pythonwin.exe" เมื่อฉันต้องการใช้ "C: \ Python27 \ ArcGIS10.1 \ python.exe"


ในโพสต์นี้ถ้าคุณอ่านความคิดเห็นดูเหมือนว่า OP สามารถให้มันทำงานโดยใช้ cmd เป็นโปรแกรมและสคริปต์เป็นอาร์กิวเมนต์
landocalrissian

ขอขอบคุณ. ฉันยังไม่เห็นโพสต์นี้ ฉันจะตรวจสอบและดูว่าข้อมูลในนั้นเหมาะกับฉันหรือไม่
Olivia

และสำหรับใครก็ตามที่ถามฉันคิดว่าฉันมี 32 Python ใน 64 เครื่อง
Olivia

ดังนั้นฉันจึงลองคำแนะนำในโพสต์ที่คุณแนะนำ แต่ฉันก็ยังดูเหมือนจะไม่มีโชค ฉันพยายามใช้ cmd เป็นโปรแกรมที่มี / c C: \ Python27.exe G: \ Script.py เป็นข้อโต้แย้งของฉัน แต่มันทำให้ฉันมีข้อผิดพลาดสองข้อ: หนึ่งจาก Python สำหรับ Win32 บอกว่ามันไม่สามารถโหลดสคริปต์ของฉันและข้อผิดพลาดที่บอกว่า มีข้อผิดพลาดในการประมวลผลบรรทัดคำสั่ง
Olivia

1
หากคุณใช้ ArcGIS python.exe ของคุณอาจอยู่ในตำแหน่งเช่นนี้: "C: \ Python27 \ ArcGIS10.3 \ python.exe" ตรวจสอบให้แน่ใจเพื่อตรวจสอบว่าคุณมีพา ธ ไปยังไฟล์ปฏิบัติการที่ถูกต้องในไฟล์. bat ของคุณ
crmackey

คำตอบ:


17

ฉันใช้การตั้งค่าต่อไปนี้เพื่อ "เริ่มโปรแกรม" ในตัวกำหนดตารางเวลางาน ฉันคิดว่าวิธีที่ดีที่สุดในการใช้พา ธ แบบเต็มไปยังโปรแกรม Python เพื่อความปลอดภัย

โปรแกรม / สคริปต์: เส้นทางแบบเต็มไปยัง Python.exe C:\Python27\ArcGIS10.2\python.exe

อาร์กิวเมนต์: ชื่อของสคริปต์ script.py

เริ่มต้นใน: ที่ตั้งของscript.pyบางสิ่งบางอย่างC:\path\to\script

นอกจากนี้หากคุณส่งข้อโต้แย้งไปยังสคริปต์ของคุณให้รวมสิ่งที่อยู่ในส่วนข้อโต้แย้งคั่นด้วยช่องว่าง script.py arg1 arg2 argn


น่ากลัว ติดอยู่กับสิ่งนี้
Prateek

5

ฉันได้ตั้งค่าไฟล์แบทช์ง่าย ๆ เช่นนี้เสมอ:

start C:\Python27\ArcGIS10.3\python.exe \\some_server\some_script.py

คุณเพียงแค่ต้องการให้แน่ใจว่าเส้นทางแบบเต็มไปยังไฟล์ที่เรียกใช้งานได้และสคริปต์ตรงกัน หากเส้นทางมีช่องว่างในนั้นคุณจะต้องล้อมด้วยเครื่องหมายคำพูดคู่ ( " ")


ฉันคิดว่านี่คือสิ่งที่ฉันมีตอนนี้ โปรแกรม / สคริปต์: "Python.exe" "\\ serverconection \ script.py" Task Scheduler ถามฉันว่าฉันต้องการเชื่อมต่อเซิร์ฟเวอร์เข้ากับการโต้เถียงหรือไม่ฉันปฏิเสธแล้วงานจะไม่ทำงาน ถ้าฉันใช้การเชื่อมต่อเซิร์ฟเวอร์เป็นอาร์กิวเมนต์แม้ว่าสคริปต์จะเปิด แต่ไม่ทำงาน
Olivia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.