2017-12-18 22 views
0

나는 Python 스크립트를 트리거하는 일괄 (* .bat) 파일을 가지고 있으며이 스크립트는 (명령 프롬프트 manuallly를 통해) interactivly를 완료하는 데 약 25 분이 걸립니다. 이 배치 파일은 매일 아침에 실행해야합니다.Windows 작업 스케줄러를 사용하지 않고 박쥐 파일을 실행하도록 예약하는 방법은 무엇입니까?

Windows 작업 스케줄러에서 예약 된 작업으로 설정하고 거기에서 실행하면 대화식으로 실행하는 것보다 거의 두 시간이 걸렸습니다. 우선 순위 설정을 xml의 기본 7에서 4 (우선 순위)로 설정해도 아무런 차이가 없습니다. 우선 순위 설정을 변경하면 I/O 우선 순위에서만 작동하지만 메모리 우선 순위에서는 작동하지 않습니다. 메모리 우선 순위는 여전히 4 (1 단계는 대화식 실행 인 5)입니다. 메모리 우선 순위는 긴 프로세스를 지원하는 데 중요한 역할을합니다.

내가 배트 파일을 예약 된 작업으로 트리거 할 수 있지만 작업 스케줄러, 다른 작업 스케줄러 또는 스크립트를 사용하지 않는지 궁금합니다.

+0

'작업 스케줄러 또는 스크립트에 대한 대체 프로그램? - [schtasks] (https://ss64.com/nt/schtasks.html) – Stephan

답변

0

'제한 시간'은 작업 스케줄러없이 작업을 예약하는 데 좋은 명령 일 수 있습니다.

timeout /t 1500 
[command to trigger Python script] 

그래서 당신은 '이 배치 파일은 아침에 실행해야 ...'싶어, 당신은 시작 시간뿐만 아니라 종료 시간을 설정할 수 있습니다 : 당신은 당신이 할 수있는 다음 원하는 경우

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). 

을 복사 아래 코드는 (당신은뿐만 아니라 코드를 편집해야 할 수도 있습니다) :

@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 

당신은 또한뿐만 아니라 코드의 출구를 추가 할,하지만 난 그냥 코드 실행을 매일 수 있도록, 필요하지 않습니다 생각합니다.