컴퓨터를 사용하면서 자동화를 활용하지 않고 있다면, 컴퓨터의 진정한 가치를 절반만 누리고 있는 것일지도 모릅니다. 컴퓨터의 본래 목적은 바로 사람이 일일이 처리하기 번거로운 지루하고 반복적인 작업을 대신 수행하는 데 있습니다.
배치 파일은 작업을 자동화하는 가장 효과적인 방법 중 하나입니다. 여기에 예약 실행 기능까지 더하면 반복 업무를 완전히 손에서 떼낼 수 있는 강력한 생산성 도구가 됩니다.
작업 스케줄러(Task Scheduler)로 배치 파일 예약하기
배치 파일로 작업 자동화를 마쳤다면, 다음 단계는 해당 파일이 정해진 주기에 따라 자동으로 실행되도록 설정하는 것입니다. 가장 쉬운 방법은 Windows에 기본 내장된 작업 스케줄러를 활용하는 것입니다. 작업 스케줄러는 미리 지정한 일정에 맞춰 작업을 자동으로 실행해 주는 도구입니다.
- Windows 시작 버튼을 클릭하고 scheduler라고 입력합니다. 검색 결과 최상단에 작업 스케줄러가 표시됩니다.
작업 스케줄러를 열어 보면 이미 수많은 예약 작업이 등록되어 있는 것을 볼 수 있습니다. Windows 자체와 설치된 프로그램들도 이 기능을 활용하기 때문입니다.
- 내 작업이 기존 작업들 사이에 묻히지 않도록 전용 폴더를 만드는 것이 좋습니다. 좌측의 작업 스케줄러 라이브러리를 마우스 오른쪽 버튼으로 클릭한 뒤 새 폴더를 선택하거나, 창 오른쪽의 동작(Actions) 창에서 새 폴더를 선택하세요.
- 새 폴더 이름을 입력합니다. 나중에 알아보기 쉽도록 의미 있는 이름으로 정하는 것이 좋습니다.
- 방금 만든 폴더를 마우스 오른쪽 버튼으로 클릭해 작업 만들기(Create Task…)를 선택하거나, 동작 창에서 작업 만들기를 클릭합니다.
- 작업 만들기 창이 열리면 일반(General) 탭이 먼저 나타납니다. 이름(Name) 필드에는 작업을 잘 나타내는 이름을, 설명(Description) 필드에는 작업이 하는 일을 적어 두세요. 호출하는 스크립트의 저장 위치까지 함께 기록해 두면 나중에 작업이나 스크립트를 수정할 때 큰 도움이 됩니다.
사용자 또는 그룹 변경(Change User or Group) 버튼도 눈여겨보세요. 이 버튼을 이용하면 다른 계정 권한으로 스크립트를 실행할 수 있습니다. 배치 파일에 관리자(Administrator) 권한이 필요하다면 사용자를 관리자 계정으로 변경하세요. 실행 시 관리자 암호를 요구하므로, 컴퓨터를 함부로 장악할 수 있는 허점은 아닙니다.
기본값은 사용자가 로그온한 경우에만 실행(Run only when user is logged on)입니다. 로그인 여부와 관계없이 언제든 실행되길 원한다면 사용자의 로그온 여부에 관계없이 실행(Run whether user is logged on or not)으로 변경하세요.
그 외 옵션들은 대부분의 작업에서 기본값 그대로 두면 충분하지만, 필요할 때 언제든 수정할 수 있다는 점만 기억해 두세요.
- 트리거(Triggers) 탭으로 이동합니다. 트리거는 작업이 언제 실행될지를 결정하는 핵심 요소입니다. 새로 만들기(New)를 클릭해 트리거를 생성하세요.
- 새 트리거 창에는 다양한 옵션이 있습니다. 어떤 설정이 가능한지 한번씩 살펴보는 것도 좋습니다.
- 작업 시작(Begin the task) 드롭다운 메뉴에서 트리거 유형을 선택합니다. 선택 가능한 옵션은 다음과 같습니다.
- 일정에 따라(On a schedule)
- 로그온할 때(At log on)
- 시작할 때(At startup)
- 유휴 상태일 때(On idle)
- 이벤트 발생 시(On an event)
- 작업 생성 또는 수정 시(At task creation/modification)
- 사용자 세션 연결 시(On connection to user session)
- 사용자 세션 연결 해제 시(On disconnect from user session)
- 워크스테이션 잠금 시(On workstation lock)
- 워크스테이션 잠금 해제 시(On workstation unlock)
이 중 일정에 따라 옵션이 가장 널리 쓰이며, 이번 실습에서도 이 옵션을 사용합니다.
- 설정(Setting) 항목에서 반복 주기를 고를 수 있습니다.
- 한 번(One time)
- 매일(Daily)
- 매주(Weekly)
- 매월(Monthly)
여기서는 매일을 선택했습니다. 일정의 시작 시점과 반복 주기도 자유롭게 지정할 수 있습니다.
- 고급 설정(Advanced settings)에서는 트리거의 세부 동작을 추가로 조정할 수 있습니다. 이번 예시에서는 5분마다 반복, 무기한으로 설정했습니다. 사용(Enabled) 체크박스가 기본적으로 선택되어 있다는 점도 기억하세요. 예약 작업이 실행되지 않아 문제를 해결할 때 가장 먼저 확인해야 할 부분입니다. 트리거 설정을 마쳤으면 확인(OK)을 클릭합니다.
- 동작(Actions) 탭으로 이동한 뒤 새로 만들기를 클릭해 예약 작업이 실제로 수행할 내용을 지정합니다.
- 동작(Action) 드롭다운 메뉴에서는 다음 세 가지를 선택할 수 있습니다.
- 프로그램 시작(Start a program)
- 전자 메일 보내기(Send an email)
- 메시지 표시(Display a message)
마지막 두 옵션은 현재 더 이상 지원되지 않는(deprecated) 기능이므로 배치 파일을 예약할 때는 사용하지 않는 것이 좋습니다. 기본값인 프로그램 시작을 그대로 유지하세요.
스크립트의 전체 경로를 입력합니다. 찾아보기(Browse) 버튼을 이용해 배치 파일로 이동한 후 선택하면 됩니다.
인수 추가(Add arguments)와 시작 위치(Start in) 필드는 비워 두어도 괜찮습니다. 다만 더 복잡한 스크립트나 작업으로 발전하게 되면 필요해질 수 있으며, 특히 PowerShell 스크립트를 예약할 때는 반드시 사용하게 됩니다. 확인을 눌러 다음 단계로 진행하세요.
- 이제 작업 예약이 완료되었습니다. 확인을 눌러 창을 닫고 작업 스케줄러로 돌아간 후, 방금 만든 작업을 선택해 테스트해 보세요. 작업을 마우스 오른쪽 버튼으로 클릭해 실행(Run)을 선택하거나 동작 창에서 실행을 클릭하면 됩니다.
작업이 끝나면 마지막 실행 결과(Last Run Result) 열을 확인하세요. 작업이 성공적으로 완료되었습니다(The operation completed successfully)라는 메시지가 보여야 정상입니다.
다른 메시지가 표시된다면 F5 키로 화면을 새로 고친 뒤 다시 확인해 보세요. 그래도 같은 결과라면 스크립트 자체나 작업 예약 방식에 문제가 있는 것이므로 문제 해결 과정이 필요합니다.
조건 탭과 설정 탭은 건드려야 할까?
위 과정에서 다루지 않은 두 개의 탭이 더 있습니다. 대부분의 작업에서는 이 탭들을 열어볼 필요조차 없으며, 기본값이 최적이므로 그대로 두는 것이 좋습니다. 그래도 어떤 기능인지 알아두면 유용하니 간단히 살펴보겠습니다.
작업 만들기 – 조건(Conditions) 탭
조건 탭의 설정들은 컴퓨터의 상태와 관련이 있습니다. 작업이 많은 시스템 자원을 소모하거나 사용 중인 사람에게 방해가 될 수 있다면 유휴 상태(Idle) 섹션을 조정하세요.
전원(Power) 섹션은 기본적으로 컴퓨터가 AC 전원에 연결되어 있는 경우에만 작업 시작과 배터리 전원으로 전환되면 작업 중지가 선택되어 있습니다.
대부분의 배치 파일 예약 작업에서는 이 옵션들을 그대로 두어도 무방합니다. 다만, 전력 절약을 위해 컴퓨터가 사용하지 않을 때 절전 모드로 전환되도록 설정해 둔 경우라면 주의하세요. 절전 상태에서는 작업이 실행되지 않습니다. 이런 경우 절모드 해제하여 작업 실행(Wake the computer to run this task) 체크박스를 선택해야 합니다.
요즘 컴퓨터는 거의 항상 네트워크에 연결되어 있지만, 작업이 안정적인 네트워크 연결에 의존한다면 네트워크(Network) 섹션을 조정하는 것이 좋습니다.
작업 만들기 – 설정(Settings) 탭
설정 탭은 작업 자체의 동작 방식, 즉 작업이 실행되는 방법과 관련이 있습니다. 요청 시 작업을 실행할 수 있음(Allow task to be run on demand) 옵션은 기본적으로 선택되어 있으며, 나머지 옵션들은 작업이 누락되거나 실패하는 상황을 다룹니다.
예를 들어 어떤 작업이 무한 루프에 빠지거나, 트리거 조건이 충족되지 않아 실행되지 못하는 경우가 있을 수 있습니다. 이런 상황에 대비해 조정하는 것이 바로 이 설정들입니다. 대부분의 경우 기본값으로 충분합니다.
예약 배치 파일로 무엇을 할 수 있을까?
작업 예약 방법을 한 번 익혀두면 자동화할 수 있는 아이디어가 끊임없이 떠오를 것입니다. 오래된 파일 자동 삭제, 자주 쓰는 프로그램 로그인 시 자동 실행, 실패한 인쇄 작업으로 막힌 대기열 자동 비우기 등이 대표적인 예입니다. 반복해서 수행하는 작업이라면 무엇이든 스크립트로 만들어 예약 실행할 수 있습니다.