IT 관련 팁/오토핫키 Autohotkey

오토핫키 - 특정 요일에 실행되는 스크립트 만들기

RayShines 2022. 3. 7. 15:01
반응형

이번 건 매일 같은 시간에 부팅하도록 하는 스크립트와 연결 지어서 사용하면 좋은 스크립트이다. 

 

예를 들어 아침 8시에 재부팅을 하는 스크립트를 실행해두었다고 하자.

 

1. 특정 요일에만 시작하도록 스크립트 짜기

재부팅된 후 8시 10분에는 내가 자주 쓰는 프로그램이 모두 열려 있도록 하고 싶을 수 있다. 새로운 오토핫키 파일을 생성하고 아래 스크립트를 써넣는다. 그리고 이 파일을 윈도우 시작 프로그램에 넣어둔다.

 

**** 시작 - 이 행은 스크립트에 포함시키지 않는다 ****

 

SetTimer,Timetorestart,50000 ;  Timetorestart라는 스크립트를 50초마다 실행
return

 

Timetorestart: ; 위의 settimer에서 50초마다 실행되도록 한 스크립트
vTime=%A_Hour%%A_Min%  
if vTime=0810 ; 아침 8시 10분이 되면 아래 스크립트를 실행

SetTimer,Timetorestart,Off ; settimer를 끈다.

 

---------------------------------------------------------------------------------------------

<점선 사이는 특정 요일에 특정 프로그램을 여는 스크립트이다>

 

가령 화요일과 금요일에는 크롬이 실행되게 싶다면

 

if (A_WDay=3) or (A_WDay=6) ; 화요일(3) 혹은 금요일(6) 이면
{
run,chrome.exe, C:\크롬 실행 파일의 경로 ; 크롬을 실행하라. 경로는 각자 설정해야 한다.

}

 

---------------------------------------------------------------------------------------------

 

 

Sleep,82800000  ; 82800초 동안 기다렸다가 아래 스크립트 진행
SetTimer, Timetorestart,50000 ; 다시 timetorestart 스크립트를 50초마다 실행
return
}
Return

 

 

**** 끝 - 이 행은 스크립트에 포함시키지 않는다 ****

 

2. 오토핫키가 인식하는 요일의 번호

A_Wday 에 요일을 적용할 때는

 

1 : 일요일

2 : 월요일

3 : 화요일
4 : 수요일

5 : 목요일

6 : 금요일

7 : 토요일

 

이다.

 

스크립트가 완성되면 이 오토핫키 파일을 윈도우 시작 프로그램에 넣어둔다. 

 

 

 

 

3. 특정 요일의 특정 시간에 시작하는 스크립트 만들기

관련 질문을 해주신 분이 계셔서 이에 대해서 정리를 해보았다. 위의 1에서 만든 스크립트를 이용하면 된다. 

 

아래 스크립트가 작동하기 위해서는 백그라운드에 상주한 채 작동하고 있어야만 한다. 그리고 매일 재부팅을 하는 스크립트가 실행되고 있다면, 아래 스크립트는 반드시 윈도우 시작 프로그램에 들어있어야만 한다. 

 

 

SetTimer,Timetorestart, 50000 ;  Timetorestart라는 스크립트를 50초마다 실행
return

 

Timetorestart: ; 위의 settimer에서 50초마다 실행되도록 한 스크립트
vTime=%A_Hour%%A_Min%  
if vTime=0900 ; 아침 9시가 되면 아래 스크립트를 실행

SetTimer,Timetorestart,Off ; settimer를 끈다.

 

if (A_WDay=3) or (A_WDay=6) ; 화요일(3) 혹은 금요일(6) 이면
{

원하는 명령을 수행하는 스크립트를 넣는 부분

}

 

Sleep,82800000  ; 82800초 동안 기다렸다가 아래 스크립트 진행
SetTimer, Timetorestart,50000 ; 다시 timetorestart 스크립트를 50초마다 실행
return
}
Return

 

 

위의 스크립트가 상주해있다면 오전 9시가 되면 스크립트가 실행될 것이다. 실제로는 정확히 오전 9시는 아니고 9시 00분 00초에서 9시 00분 49초 사이일 것이다. 왜냐하면 50초에 한 번씩 스크립트가 실행되며 시간을 확인하기 때문이다. 만약 9시 00분 00초에 시간을 확인했다면 그 아래의 스크립트로 진행한다. 만약 8시 59분 59초에 한 번 확인을 했다면 다음에 스크립트가 시작되는 시간은 9시 00분 49초일 것이다. 그리고 이때도 역시 9시 00분이므로 스크립트가 그 아래 명령을 수행한다. 

 

따라서 정확히 9시 정각에 명령이 수행된다고 보기는 어렵고, 늦어도 9시 00분 49초에는 시간을 확인한 뒤 그 아래의 스크립트가 진행될 것이다. 그리고 수행해야 하는 명령의 종류에 따라 다소 시차는 있을 수 있을 것 같다. 

 

 

반응형