Chạy tập lệnh Python trong Trình lập lịch tác vụ Tập lệnh Script sẽ không chạy


13

Tôi có một kịch bản mà tôi muốn chạy hàng tháng mà không cần tôi phải mở và chạy nó. Tôi đã tham khảo mọi trang web tôi có thể tìm thấy trên Trình lập lịch tác vụ của Windows và làm theo hướng dẫn của họ. Tuy nhiên, chạy tập lệnh từ Trình lập lịch tác vụ sẽ chỉ mở tập lệnh trong Python và không chạy tập lệnh.

Trong Cửa sổ chạy lập lịch tác vụ, tôi đã thử nhập cả đường dẫn đến tập lệnh và đường dẫn đến tập lệnh với đường dẫn đến chương trình Python của tôi. Tôi cũng đã thử nhập đường dẫn đến chương trình Python của tôi dưới dạng tập lệnh với tập lệnh của tôi làm đối số như được đề xuất trong bài đăng trên blog này . Kịch bản của tôi được mã hóa cứng, vì vậy tôi không nghĩ mình cần thêm bất kỳ đối số nào.

Tôi có thiếu một cái gì đó rõ ràng?


Tôi đã gặp vấn đề vì tôi đang sử dụng đường dẫn đến chương trình Python chứ không phải dòng lệnh Python. Tức là tôi đã sử dụng "C: \ Python27 \ ArcGIS10.1 \ Lib \ site-gói \ pythonwin \ Pythonwin.exe" khi tôi cần sử dụng "C: \ Python27 \ ArcGIS10.1 \ python.exe".


Trong bài đăng này nếu bạn đọc các bình luận, có vẻ như OP đã có thể khiến nó chạy bằng cách sử dụng cmd làm chương trình và tập lệnh làm đối số.
Landocalrissian

Cảm ơn bạn. Tôi chưa thấy bài này. Tôi sẽ xem qua và xem thông tin trong đó có hoạt động với tôi không.
Olivia

Và với bất cứ ai hỏi, tôi nghĩ rằng tôi có 32 Python trên máy 64.
Olivia

Vì vậy, tôi đã thử đề xuất trong bài đăng mà bạn đề xuất, nhưng tôi vẫn không gặp may mắn. Tôi đã thử sử dụng cmd làm chương trình với / c C: \ Python27.exe G: \ Script.py làm đối số của tôi, nhưng nó cho tôi hai lỗi: Một từ Python cho Win32 nói rằng nó không thể tải tập lệnh của tôi và lỗi nói rằng có một dòng lệnh xử lý lỗi args.
Olivia

1
Nếu bạn đang sử dụng ArcGIS, python.exe của bạn có thể ở một vị trí như thế này: "C: \ Python27 \ ArcGIS10.3 \ python.exe". Đảm bảo xác minh rằng bạn có đường dẫn đến tệp thực thi chính xác trong tệp .bat của bạn.
crmackey

Câu trả lời:


17

Tôi sử dụng các cài đặt sau để "Khởi động chương trình" trong trình lập lịch tác vụ. Tôi thấy tốt nhất là sử dụng đường dẫn đầy đủ để thực thi Python được an toàn.

Chương trình / tập lệnh: Đường dẫn đầy đủ đến Python.exe, C:\Python27\ArcGIS10.2\python.exe

Đối số: Tên của kịch bản, script.py

Bắt đầu tại: Vị trí của script.py, một cái gì đó nhưC:\path\to\script

Ngoài ra, nếu bạn chuyển các đối số vào tập lệnh của mình, hãy bao gồm các đối số có phần đối số, được phân tách bằng dấu cách, script.py arg1 arg2 argn


tuyệt vời. đã bị mắc kẹt với điều này.
Prateek

5

Tôi đã luôn thiết lập các tệp bó đơn giản như thế này:

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

Bạn sẽ chỉ muốn đảm bảo đường dẫn đầy đủ đến tập lệnh thực thi và tập lệnh khớp chính xác. Nếu đường dẫn có bất kỳ khoảng trắng nào trong đó, bạn sẽ cần bọc nó trong dấu ngoặc kép. ( " ")


Tôi nghĩ rằng đây là những gì tôi có bây giờ. Chương trình / tập lệnh: "Python.exe" "\\ serverconection \ script.py" Trình lập lịch tác vụ sau đó hỏi tôi có muốn kết nối máy chủ thành một đối số không, tôi từ chối và sau đó tác vụ sẽ không chạy. Nếu tôi sử dụng kết nối máy chủ làm đối số, tập lệnh sẽ mở nhưng không chạy.
Olivia
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.