2017-12-18 5 views
0

Ich habe eine Batch-Datei (* .bat), die ein Python-Skript auslöst und dieses Skript dauert etwa 25 Minuten interaktiv (über die Eingabeaufforderung manuell). Diese Batch-Datei muss täglich morgens ausgeführt werden.Wie planen Sie die Ausführung einer Bat-Datei ohne Windows Taskplaner?

Wenn ich versuchte, es als eine geplante Aufgabe auf Windows Taskplaner festzulegen und es dort ausgeführt wurde, dauerte es fast doppelt so viel Zeit als interaktiv. Selbst wenn ich die Prioritätseinstellungen von 7 auf 4 (höhere Priorität) in der XML-Datei festlege, macht das keinen Unterschied. Das Ändern der Prioritätseinstellungen funktioniert nur für die E/A-Priorität, funktioniert aber nicht für die Speicherpriorität, die immer noch bei 4 bleibt (1 Stufe im interaktiven Lauf, die 5 ist). Die Speicherpriorität spielt eine wichtige Rolle bei der Unterstützung eines langen Prozesses.

Ich frage mich, ob es eine Möglichkeit gibt, die Bat-Datei als eine geplante Aufgabe, aber nicht mit Taskplaner, alternatives Programm zu Taskplaner oder Skripts auslösen?

+0

'Alternative Programm zu Taskplaner oder Skripten?' - [Schtasks] (https://ss64.com/nt/schtasks.html) – Stephan

Antwort

0

'Timeout' könnte ein guter Befehl, um Ihre Aufgabe ohne Taskplaner zu planen.

timeout /t 1500 
[command to trigger Python script] 

So möchten Sie ‚Diese Batchdatei in der Früh laufen muss ...‘ können Sie die Startzeit und Endzeit sowie ein:

set timeHrs=%time:~0,2% 
set timeMin=%time:~3,2% 
set timeSec=%time:~6,2% 

[insert timeout command] 

if "%timeHrs%" geq 6 if "%timeHrs%" leq 9 [command to trigger Python script] 
rem The above command is check if Hour is in 6-9 (in morning). 

Wenn Sie möchten, können Sie dann Kopie Code (Sie haben könnten Code bearbeiten als auch):

@echo off 
:loop 
set timeHrs=%time:~0,2% 
set timeMin=%time:~3,2% 
set timeSec=%time:~6,2% 

timeout /t 1500 

if "%timeHrs%" geq 6 if "%timeHrs%" leq 9 [command to trigger Python script] 
goto loop 

Sie wollen auch auch den Ausgang in Code schreiben, aber ich glaube, Sie brauchen es nicht, lassen Sie einfach den Code laufen jeden Tag.

Verwandte Themen