PYTHON/etc contents

파이썬 배치파일 생성 및 작업 스케줄러 등록

  • -

파이썬을 통해 자동화 프로그램을 실행하고 싶은 경우에는 배치파일을 생성함으로써 이를 작업 스케쥴러에 등록함으로써 실행할 수 있다. 이번 포스팅에서는 배치파일의 생성과 작업 스케쥴러에 해당 작업을 추가하는 방법에 대해 살펴보도록 할 예정이다.

 

 

파이썬 파일 생성하기

당연한 이야기겠지만, 특정 작업 스케쥴러에 등록된 배치파일이 실행시킬 파이썬 파일을 만들어주어야 한다. 따라서 본인은 festfile이라는 폴더를 생성시킨 후, 해당 폴더 안에 printhw라는 파일명을 가진 파이썬 파일을 생성해주었다. printhw 파일의 코드는 아래와 같다.

time 모듈을 임포트한 후에 time 모듈 안에 있는 ctime() 함수를 통해 현재 시간을 불러왔고, 이를 split(' ')을 통해 빈칸을 기준으로 문자열로 나누어 리스트 자료형으로 만들어주었다. 그 후에는 시간 데이터만 얻어오기 위해 리스트의 뒤에서 두 번째 값에 접근하는 인덱싱 방법인 [-2]를 통해 현재 시간을 얻어왔다. 그 후   def printhello()  라는 함수 내에서는 hello world를 출력하도록 했고   def printhi()  라는 함수 내에서는 hi world를 출력하도록 하였으며, if문을 통해 now_time(현재 시각 변수)가 now_time일 경우 두 개의 함수와 now_time 변수를 출력하도록 했다. 아래의 코드 중 >>> 하단에 위치한 부분이 해당 코드를 실행한 결과값이다.

import time

time = time.ctime().split(' ')
now_time = time[-2]

def prinhello():
    print("hello world")

def prinhi():
    print("hi world")

if now_time == now_time:
    prinhello()
    prinhi()
    print(now_time)
    
    
>>>
hello world
hi world
16:00:15

 

 

 

배치 파일 생성하기

배치 파일은 단순하게 메모장을 통해 단순한 명령어를 입력한 후에 뒤의 확장자만 변경해주면 된다. 배치 파일을 생성하는 것은 정말이지 정말로 단순하다. 메모장을 열어서 아래와 같이 입력해주면 된다.

첫 번째 줄에 있는 python printhw.py는 실행하고자 하는 파이썬 파일의 이름이고, 두 번째 줄에 있는 pause는 첫 번째 줄의 명령어를 실행한 이후에는 멈추라는 명령어다. 아래와 같이 입력한 후에 해당 메모장을 저장해주고, 실행하고자 하는 파일인 printhw.py파일과 같은 경로에 두도록 하자.

python printhw.py
pause

 

testfile 경로 안에 있는 두 개의 파일

 

이제 메모장을 만들었으면 해당 메모장의 파일 형식을 txt가 아닌 bat로 변경해주면 된다. txt가 안보일 경우에는 폴더의 상단 부분에 위치해 있는 메뉴인 '보기'를 클릭한 후에, [파일 확장명]의 왼쪽에 체크를 해주면 .txt(확장자)가 나타난다. 그 후에 메모장 파일을 오른쪽 클릭을 하면 이름을 수정하는 버튼이 생기는데(단축키는 m이다), 그를 눌러서 .txt 부분을 .bat로 변경해주도록 하자.

확장자를 표시하는 방법(윈도우 10 기준)

 

메모장의 확장자를 배치파일로 변경하는 방법. 그냥 클릭한 후에 .txt 부분을 .bat로 변경해주면 된다.

 

예를 눌러서 확장자 변경

 

 


728x90

 

 

작업 스케쥴러에 배치파일 등록하기

이제 앞에서 bat 파일을 생성했다면, 그 파일을 윈도우 작업 스케쥴러를 통해 작업을 등록해주면 된다. 작업 스케줄러로 진입하는 방법은 윈도우 검색화면에 '작업'이라고 검색하면 아래와 같은 창이 뜨는데, 그걸 클릭해서 들어가도록 하자.

 

이제 작업 스케줄러에 들어왔다면, 왼쪽 화면에 [작업 스케줄러 라이브러리]라고 적혀 있는 곳이 있는데, 그 부분을 오른쪽 클릭하면 [작업 만들기(R)]이 나오는데, 그걸 클릭해서 진입한 후 이름을 입력해주도록 하자.

새 작업 만들기와 이름 입력하기

 

그 후에는 '새 작업 만들기' 창의 윗 부분에 [트리거]와 [동작]에 대해 설정할 것이다. 먼저 [트리거]의 경우에는 해당 작업을 실행할 일자와 시각을 설정하는 화면으로, 단순한 테스트를 위한 경우라면 별도의 시간 설정을 할 필요 없이 일단 대충 만들어놓고, 추후에 다시 설정할 수 있다.

 

다음으로는 [동작]이다. 앞서 설정한 트리거에서 해당 작업을 실행할 조건을 설정했으니, 해당 조건이 충족됐을 때 실행할 작업을 설정하는 곳이 바로 [동작] 메뉴이다. 여기서는 프로그램/스크립트 아래 부분과, 시작 위치(옵션)의 오른쪽 부분을 채워주면 되는데 둘 간의 차이점은 아래와 같다.

  • 프로그램/스크립트 : 실행할 파일의 경로 + 실행할 파일
  • 시작 위치(옵션)(T) : 실행할 파일(bat 파일)과 그 파일이 실행할 파일(py 파일)이 함께 있는 경로

 

프로그램/스크립트의 오른쪽에 있는 '찾아보기'를 누르면 오른쪽 사진과 같은 화면이 나타나는데, 여기서 testbat.bat을 클릭한 후 '열기'를 클릭

 

이제 다음으로는 시작 위치(옵션)(T)의 경로를 채워줄 것인데, 이는 우리가 실행할 파일이 속해 있는 폴더를 연 후에 아래의 사진처럼 파란색으로 색칠되어 있는 부분을 클릭하면 자동으로 해당 폴더의 경로를 알려준다. 이제 그 경로를 복사한 후에 시작 위치(옵션)(T)의 오른쪽 부분에 입력한 후, 확인을 누르면 작업 스케줄러가 생성된 것을 확인할 수 있다.

파일 경로를 복사한 후 붙여넣고 확인을 누르면 동작이 생성된 것을 확인할 수 있다.
작업 스케줄러가 생성된 모습

 

이제 작업 스케줄러를 오른쪽 클릭 해보면 아래와 같이 실행, 끝, 사용 안 함 등과 같은 메뉴들이 생성되는데, 여기서 실행 버튼을 클릭해보면 해당 작업 스케줄러를 생성할 때 설정한 [트리거] 값과는 무관하게 해당 작업을 곧바로 실행하게 된다. 해당 작업을 실행하면 오른쪽 사진과 같이 앞서 테스트했던 결과물이 잘 출력되는 것을 확인해볼 수 있다.

 

 

 


728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.