Ich habe ein Skript, das ich regelmäßig monatlich ausführen möchte, ohne dass ich es öffnen und ausführen muss. Ich habe auf jede Webseite im Windows Task Scheduler verwiesen und deren Anweisungen befolgt. Wenn Sie das Skript jedoch über den Taskplaner ausführen, wird das Skript nur in Python geöffnet und nicht ausgeführt.
Im Taskplaner-Ausführungsfenster habe ich versucht, sowohl den Pfad zum Skript als auch den Pfad zum Skript mit dem Pfad zu meinem Python-Programm einzugeben. Ich habe auch versucht, den Pfad zu meinem Python-Programm als Skript mit meinem Skript als Argument einzugeben, wie in diesem Blog-Beitrag vorgeschlagen . Mein Skript ist hartcodiert, sodass ich keine Argumente hinzufügen muss.
Vermisse ich etwas Offensichtliches?
Ich hatte Probleme, weil ich den Pfad zum Python-Programm und nicht die Python-Befehlszeile verwendete. Dh ich habe "C: \ Python27 \ ArcGIS10.1 \ Lib \ site-packages \ pythonwin \ Pythonwin.exe" verwendet, als ich "C: \ Python27 \ ArcGIS10.1 \ python.exe" verwenden musste.
quelle
Antworten:
Ich verwende die folgenden Einstellungen, um im Taskplaner ein Programm zu starten. Ich finde es am besten, den vollständigen Pfad zur ausführbaren Python-Datei zu verwenden, um sicher zu gehen.
Programm / Skript: Vollständiger Pfad zu Python.exe,
C:\Python27\ArcGIS10.2\python.exe
Argumente: Name des Skripts,
script.py
Beginnen Sie in: Ort von
script.py
, so etwas wieC:\path\to\script
Wenn Sie Argumente an Ihr Skript übergeben, schließen Sie auch die Argumente mit ein, die durch Leerzeichen getrennt sind.
script.py arg1 arg2 argn
quelle
Ich habe immer einfache Batch-Dateien wie folgt eingerichtet:
Sie müssen nur sicherstellen, dass der vollständige Pfad zur ausführbaren Datei und zum Skript genau übereinstimmt. Wenn der Pfad Leerzeichen enthält, müssen Sie ihn in doppelte Anführungszeichen setzen. (
" "
)quelle