컴퓨터가 깨어나자마자 예약된 작업이 실행되는 것을 방지하는 방법은 무엇입니까?

컴퓨터가 깨어나자마자 예약된 작업이 실행되는 것을 방지하는 방법은 무엇입니까?

예: 매일 오전 6시에 예약된 작업이 있습니다(로그인한 경우에만). 내 컴퓨터가 오전 9시까지 밤새도록 절전/최대 절전 모드로 유지되는 경우, 깨어나면 오전 6시 일정을 놓쳤더라도 작업이 실행됩니다. 작업이 실행되는 것이 중요하기 때문에 그런 일이 발생하는 것을 원하지 않습니다.오직오전 6시에.

"예정된 시작 시간을 놓친 후 가능한 한 빨리 작업 실행" 설정을 선택 취소하면 이를 방지할 수 있을 것이라고 생각했지만 그렇지 않습니다. 컴퓨터가 예정된 시간에 켜져 있는 경우에만 작업이 실행되도록(그리고 컴퓨터가 놓친 경우 다음 예정된 시간까지 기다리도록) 시도해야 하는 또 다른 설정이 있습니까?

내 설정의 예:

여기에 이미지 설명을 입력하세요

답변1

해결 방법을 찾았습니다. 작업에서 .bat스크립트를 실행하도록 하세요. 그러면 컴퓨터가 절전 모드가 아닌 것을 발견하면 명령이 실행됩니다. 내가 사용하는 스크립트는 다음과 같습니다.

@echo off
for /f "delims=" %%t in ('time /t') do if "%%t"=="%1" %~2

이 스크립트는 두 개의 매개변수를 사용합니다. 첫 번째는 명령이 호출될 시간이고, 두 번째는 따옴표로 묶인 명령 자체입니다 script.bat 21:40 "echo x".

설명

Bash와 달리 Batch에서는 명령 출력을 변수에 직접 저장하는 것이 불가능하지만한 줄씩 출력 줄을 반복합니다.. 그것이 나의 두 번째 줄이 하는 일입니다. time /t의 출력 은 한 줄 이므로
스크립트가 호출되기를 원할 때 호출된 경우 스크립트가 명령(두 번째 매개변수로 전달됨)을 실행하는 반복은 단 한 번뿐입니다. 스크립트 실행이 지연되면 이 조건이 충족되지 않습니다.

%~2대신에 를 사용합니다 %2. 왜냐하면 %~2명령 주위에 따옴표를 삭제하므로
전달은 인수 없이 프로그램을 호출하는 대신 인수로 "echo x"실행되고 인쇄 됩니다 .echoxx
echo x

단점

  1. 요청 시 작업을 시작하면 아무 작업도 수행되지 않습니다. 필드를 선택 취소하는 것이 좋습니다.요청 시 작업이 실행되도록 허용에서설정탭, 혼동하지 마세요.

  2. 작업 실행 시간을 수정하려면 작업이 계속 작동하도록 인수를 수정해야 합니다.

  3. time /t의 출력은 지역 설정에 따라 다릅니다.

답변2

컴퓨터가 유휴 상태일 때 예약된 작업을 실행하려면 "다음 기간 동안 유휴 상태가 될 때까지 기다립니다." 그리고 아마도 체크 표시 "컴퓨터가 더 이상 유휴 상태가 되지 않으면 중지".

  1. 컴퓨터가 유휴 상태일 때 실행할 작업을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
  2. 조건 탭의 유휴 시간에서 컴퓨터가 최소한 유휴 상태인 경우에만 작업 시작 확인란을 선택합니다.
  3. 작업이 실행되기 전에 컴퓨터가 유휴 상태여야 하는 시간(분)을 입력합니다.

참고: 컴퓨터가 유휴 상태가 되면 작업 중지 확인란을 선택하여 컴퓨터가 사용 중인 경우 모든 작업을 중지하도록 지정할 수도 있습니다.

유휴 시간을 이해하려면 다음을 따르십시오.링크...

답변3

컴퓨터를 절전/최대 절전 모드로 두었으므로 기술적으로는 여전히 "로그온"(그냥 자리를 비운 상태) 상태입니다. 따라서 대안으로 조건에서 "이 작업을 실행하기 위해 컴퓨터를 깨우도록" 작업을 설정할 수 있으며, 이 작업은 항상 오전 6시에 실행됩니다. (작업이 실행될 때 콘솔에 있어야 한다는 뜻이 아닌 경우)

관련 정보