본문 바로가기

VBScript로 PC 자동 종료 예약, 이젠 어렵지 않아요

@baukuri2025. 12. 13. 05:05




PC 자동 종료의 필요성

많은 분들이 PC를 사용하다 잠드는 경우가 많으실 겁니다. 저 또한 그랬으니까요. 불필요하게 PC가 계속 켜져 있으면 전기세 낭비는 물론이고, 하드웨어 수명에도 좋지 않은 영향을 줄 수 있습니다. 특히 중요한 작업이나 업데이트를 밤새 진행해야 할 때, 정해진 시간에 PC가 자동으로 종료되도록 설정해둔다면 훨씬 효율적이고 안전하게 PC를 관리할 수 있습니다. 또한, 외출 전 깜빡 잊고 PC를 끄지 않았을 때 유용하게 사용할 수 있습니다.

과거에는 다양한 유틸리티 프로그램을 사용하거나 복잡한 설정을 거쳐야만 PC 자동 종료 기능을 이용할 수 있었습니다. 하지만 이제는 VBScript라는 간단한 스크립트 언어를 활용하면 누구나 쉽게 PC 자동 종료를 예약할 수 있습니다. 별도의 프로그램 설치 없이, 간단한 텍스트 편집기만 있으면 되기 때문에 부담 없이 시도해볼 수 있다는 장점이 있습니다.

 

자동 종료 방식 장점 단점
VBScript 프로그램 설치 불필요, 간편함, 높은 자유도 스크립트 작성 필요, 오류 발생 시 디버깅 어려움
별도 프로그램 사용자 친화적 인터페이스, 다양한 기능 제공 프로그램 설치 및 업데이트 필요, 리소스 사용
Windows 작업 스케줄러 시스템 내장 기능, 안정성 높음 설정 과정이 다소 복잡할 수 있음

VBScript로 PC 자동 종료 예약, 이젠 어렵지 않아요




VBScript 자동 종료 스크립트 작성 방법

PC 자동 종료 스크립트는 생각보다 매우 간단합니다. 가장 기본적인 스크립트는 일정 시간 후 PC를 종료하는 명령어입니다. 이를 VBScript로 구현하면 됩니다. 우선, 메모장과 같은 텍스트 편집기를 실행해주세요. 그리고 아래 코드를 그대로 복사하여 붙여넣습니다.

이 코드는 1시간(3600초) 후에 PC를 종료하도록 설정하는 예시입니다. `Wscript.Sleep(3600000)` 부분의 숫자 `3600000`을 원하는 종료 시간(밀리초 단위)으로 변경하면 됩니다. 예를 들어, 30분 후 종료를 원하면 `1800000`으로, 2시간 후 종료를 원하면 `7200000`으로 수정하면 됩니다.

코드를 작성했다면, "다른 이름으로 저장"을 선택하고 파일 이름을 `.vbs` 확장자로 저장합니다. 예를 들어, "pc_shutdown.vbs"와 같이 저장하면 됩니다. 이렇게 저장된 파일을 더블 클릭하면 해당 스크립트가 실행되어 설정된 시간 후에 PC가 자동으로 종료됩니다. VBScript 파일은 단순한 텍스트 파일이므로, 이메일로 보내거나 USB 메모리에 담아 다른 PC에서도 쉽게 사용할 수 있습니다.

 

기본 종료 스크립트 예시:
`shutdown /s /f /t 3600`
이 명령어는 PC를 종료(/s)하고, 실행 중인 모든 프로그램을 강제로 종료(/f)하며, 3600초(1시간) 후에 실행하도록 예약합니다.

VBScript 코드 작성 및 저장 팁:
1. 메모장(Notepad)을 엽니다.
2. `Set objShell = WScript.CreateObject("WScript.Shell")`
3. `objShell.Run "shutdown /s /f /t 3600", 0, false`
4. "파일" -> "다른 이름으로 저장"을 선택합니다.
5. 파일 이름을 `my_shutdown.vbs` 와 같이 `.vbs` 확장자로 저장합니다.
6. "파일 형식"을 "모든 파일 (*.*)"으로 변경하는 것을 잊지 마세요.




스크립트 활용 및 추가 기능

기본적인 PC 종료 스크립트 외에도 VBScript를 활용하면 더 다양한 기능을 구현할 수 있습니다. 예를 들어, 특정 시간을 지정하여 종료하거나, 종료 전에 사용자에게 메시지를 보여주는 기능을 추가할 수 있습니다.

정해진 시간(예: 오후 11시)에 PC를 종료하고 싶다면, 현재 시간과 목표 종료 시간을 비교하여 스크립트를 실행하는 방식을 사용할 수 있습니다. 하지만 이 경우 스크립트가 계속 실행 상태로 있어야 한다는 점을 유의해야 합니다. 더 간편하게 특정 시간에 종료를 예약하려면 Windows의 작업 스케줄러 기능을 함께 사용하는 것이 좋습니다.

또한, 종료 전에 간단한 알림 메시지를 띄워 사용자가 종료를 인지하도록 할 수도 있습니다. `MsgBox` 함수를 활용하면 이러한 기능을 쉽게 추가할 수 있습니다. 예를 들어, `MsgBox "PC가 1시간 후에 종료됩니다. 작업을 저장해주세요."` 와 같이 메시지를 작성하면 됩니다. PC 자동 종료 스크립트를 익혀두면 예상치 못한 상황에서도 PC를 안전하게 관리하는 데 큰 도움이 될 것입니다.

 

종료 전 메시지 추가 예시:
`Set objShell = WScript.CreateObject("WScript.Shell")`
`MsgBox "PC가 1시간 후에 종료됩니다. 작업을 저장해주세요.", vbInformation, "자동 종료 알림"`
`objShell.Run "shutdown /s /f /t 3600", 0, false`
이 코드는 종료 1시간 전 "자동 종료 알림"이라는 제목과 함께 메시지 상자를 보여줍니다. `vbInformation`은 메시지 상자의 아이콘 종류를 지정하며, `0, false`는 스크립트 창이 표시되지 않도록 합니다.

취소 방법:
혹시라도 예약된 종료를 취소하고 싶다면, 명령 프롬프트(CMD)를 열어 `shutdown /a` 명령어를 입력하면 됩니다. 이렇게 하면 예약된 모든 종료 명령이 취소됩니다.




VBScript 작성 기본 규칙

VBScript를 사용하여 PC 자동 종료 스크립트를 작성하기 위한 몇 가지 기본적인 규칙과 이해가 필요합니다. VBScript는 Visual Basic Scripting Edition의 약자로, 윈도우 운영체제에서 스크립팅을 통해 다양한 작업을 자동화할 수 있게 해주는 스크립트 언어입니다. 복잡한 프로그래밍 지식이 없어도 간단한 코드로 PC 종료와 같은 기능을 구현할 수 있다는 장점이 있습니다. 스크립트의 기본 구조는 명령어와 인자, 그리고 필요한 경우 변수를 활용하는 형태로 이루어집니다. 예를 들어, PC를 종료하는 명령어를 직접 사용하거나, 특정 시간을 지정하여 실행되도록 조건을 부여할 수 있습니다. 이러한 스크립트는 .vbs 확장자로 저장하여 실행하며, 윈도우의 기본 기능인 '작업 스케줄러'와 함께 사용하면 더욱 강력하고 유연한 자동화가 가능합니다.

스크립트 작성 시 가장 중요한 부분은 바로 '정확성'입니다. 오타 하나로 인해 스크립트가 제대로 작동하지 않거나 예상치 못한 오류가 발생할 수 있기 때문입니다. 특히 PC 종료와 같이 시스템에 직접적인 영향을 주는 작업은 더욱 신중하게 작성해야 합니다. 기본적인 문법을 익히고, 각 명령어의 역할을 명확히 이해하는 것이 중요합니다.

스크립트의 가독성을 높이기 위해 주석을 활용하는 것도 좋은 방법입니다. `#` 또는 `'` 기호를 사용하여 코드의 특정 부분에 대한 설명을 덧붙이면, 나중에 스크립트를 수정하거나 다른 사람과 공유할 때 큰 도움이 됩니다. 이는 복잡한 스크립트를 다룰 때 더욱 중요해집니다. VBScript의 이러한 기본적인 특성을 이해하는 것이 성공적인 자동 종료 스크립트 작성의 첫걸음입니다.

 

구분 설명
명령어 PC 종료, 재시작 등 시스템 제어 명령어
인자 명령어의 실행 방식을 지정 (예: 즉시 종료, 강제 종료)
주석 코드에 대한 설명, 스크립트 이해를 도움
파일 확장자 .vbs




실제 PC 종료 스크립트 예제

이제 VBScript를 사용하여 PC를 예약 종료하는 구체적인 예제를 살펴보겠습니다. 가장 기본적인 방법은 `shutdown` 명령어를 VBScript 내에서 호출하는 것입니다. `shutdown` 명령어는 윈도우에서 제공하는 시스템 종료 유틸리티로, 다양한 옵션을 통해 종료 방식을 제어할 수 있습니다. 예를 들어, `-s` 옵션은 시스템을 종료하고, `-t` 옵션은 종료까지의 시간을 초 단위로 지정합니다. `-f` 옵션은 실행 중인 애플리케이션을 강제로 닫고 종료를 진행하게 합니다.

다음은 1시간(3600초) 후에 PC를 강제 종료하는 간단한 VBScript 코드입니다. 이 코드는 'notepad'와 같은 텍스트 편집기에 작성한 후 '.vbs' 확장자로 저장하면 됩니다. 저장된 파일을 실행하면 지정된 시간이 지난 후 PC가 자동으로 종료됩니다.

코드 예제:
`shutdown -s -f -t 3600`

이 코드를 VBScript 파일에 포함시키기 위해서는 `WScript.Shell` 객체를 사용해야 합니다. `WScript.Shell` 객체는 윈도우 쉘의 기능을 VBScript에서 사용할 수 있도록 해줍니다. `Run` 메서드를 사용하면 외부 명령어를 실행할 수 있습니다.

이를 VBScript 형식으로 작성하면 다음과 같습니다.

코드 예제:

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "shutdown -s -f -t 3600", 0, false
WScript.Echo "1시간 후에 PC가 자동 종료됩니다."

여기서 `objShell.Run "shutdown -s -f -t 3600", 0, false` 부분은 `shutdown -s -f -t 3600` 명령어를 실행하며, 두 번째 인자 `0`은 창을 숨기도록 하고, 세 번째 인자 `false`는 명령어가 완료될 때까지 기다리지 않고 즉시 다음 코드를 실행하도록 합니다. `WScript.Echo`는 사용자에게 종료 예약 메시지를 보여주는 역할을 합니다.

이처럼 VBScript를 사용하면 복잡한 설정 없이 간단한 코드로 PC 예약 종료 기능을 구현할 수 있습니다.

 

▶ 1단계: 텍스트 편집기(메모장 등)를 엽니다.

▶ 2단계: 위 VBScript 코드 예제를 복사하여 붙여넣습니다.

▶ 3단계: '파일' > '다른 이름으로 저장'을 선택합니다.

▶ 4단계: 파일 이름을 원하는 대로 지정하되, 반드시 확장자를 .vbs로 설정합니다. (예: `shutdown_reserve.vbs`)

▶ 5단계: 저장한 파일을 더블 클릭하여 실행합니다.




주의사항 및 추가 팁

VBScript를 사용하여 PC 자동 종료 스크립트를 작성하고 실행할 때는 몇 가지 주의사항과 유용한 팁을 알아두면 더욱 안전하고 효과적으로 활용할 수 있습니다. 첫째, 종료 시간 설정 시 단위를 정확히 확인해야 합니다. `shutdown` 명령어의 `-t` 옵션은 초 단위이므로, 1시간을 설정하려면 3600초, 30분을 설정하려면 1800초와 같이 계산해야 합니다. 잘못된 시간 설정은 의도치 않은 시간에 PC가 종료되는 결과를 초래할 수 있습니다.

둘째, `-f` 옵션, 즉 강제 종료 옵션의 사용에 신중해야 합니다. 이 옵션은 저장되지 않은 작업 데이터를 손실하게 할 수 있으므로, 중요한 작업 중이라면 강제 종료보다는 일반 종료를 선택하는 것이 좋습니다. 또한, 여러 애플리케이션이 동시에 실행 중인 경우, 강제 종료가 시스템 불안정을 야기할 수도 있습니다.

셋째, 스크립트 파일을 저장할 때는 인코딩을 ANSI 또는 UTF-8로 설정하는 것이 일반적이며, 간혹 특정 문자열에서 문제가 발생할 경우 다른 인코딩으로 시도해볼 수 있습니다. VBScript는 윈도우 버전 및 설정에 따라 약간의 차이를 보일 수 있으므로, 자신이 사용하는 환경에서 테스트해보는 것이 중요합니다.

마지막으로, 스크립트 실행 권한 문제에 유의해야 합니다. 일부 시스템 환경에서는 스크립트 실행에 관리자 권한이 필요할 수 있습니다. 또한, 컴퓨터의 백신 프로그램이나 보안 설정에 따라 스크립트 실행이 차단될 수도 있으므로, 이러한 경우 해당 프로그램을 일시적으로 비활성화하거나 신뢰할 수 있는 스크립트로 등록하는 조치가 필요할 수 있습니다.

예약된 종료를 취소하고 싶을 때는 `shutdown -a` 명령어를 사용하면 됩니다. 이 명령어 역시 VBScript로 작성하여 실행하거나, 직접 명령 프롬프트에서 실행할 수 있습니다. `shutdown -a`를 VBScript로 구현하는 예제는 다음과 같습니다.

종료 예약 취소 코드:

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "shutdown -a", 0, false
WScript.Echo "PC 자동 종료 예약이 취소되었습니다."

 

옵션 설명 주의사항
-s 컴퓨터 종료 기본 옵션
-t [초] 종료까지의 시간 설정 (초 단위) 단위 확인 필수
-f 실행 중인 모든 프로그램 강제 종료 데이터 손실 위험
-a 예약된 종료 취소 종료 예약 후 취소 시 사용




스크립트 실행 및 예약 방법 상세 안내

앞서 VBScript 코드를 작성했다면, 이제 실제 PC에 적용하는 방법을 알아볼 차례입니다. 스크립트를 실행하는 방법은 크게 두 가지로 나눌 수 있습니다. 첫 번째는 직접 실행하는 방법으로, 작성한 `.vbs` 파일을 더블 클릭하여 즉시 스크립트를 활성화하는 것입니다. 이 방법은 테스트나 일회성 예약에 유용합니다. 두 번째는 작업 스케줄러를 이용하는 방법으로, 특정 시간이나 특정 이벤트 발생 시 스크립트가 자동으로 실행되도록 예약하는 방식입니다. 이 방법을 사용하면 더욱 체계적이고 유연한 PC 자동 종료 시스템을 구축할 수 있습니다. 작업 스케줄러는 윈도우 내에 기본으로 내장된 기능이므로 별도의 프로그램을 설치할 필요가 없습니다. 코드를 제대로 작성했다면, 이 두 가지 방법 중 자신에게 맞는 방식을 선택하여 PC 자동 종료 기능을 손쉽게 구현할 수 있습니다.

 

실행 방식 주요 특징 활용 예시
직접 실행 `.vbs` 파일 더블 클릭으로 즉시 실행 단기 예약, 즉시 종료, 테스트
작업 스케줄러 윈도우 내장 기능, 예약 실행 가능 정기적 예약, 특정 조건에 따른 자동 실행

핵심 포인트: 작업 스케줄러를 활용하면 윈도우 재시작 후에도 예약된 종료가 유지되므로 더욱 편리하게 사용할 수 있습니다.




스크립트 오류 및 문제 해결 팁

VBScript를 사용하여 PC 자동 종료 예약을 설정하는 과정에서 예상치 못한 오류가 발생할 수 있습니다. 가장 흔한 문제 중 하나는 코드의 문법적 오류입니다. 오타, 따옴표 누락, 괄호 불일치 등이 대표적인 예시입니다. 이러한 오류는 스크립트가 정상적으로 작동하지 않게 만들므로, 코드를 작성할 때 꼼꼼하게 확인하는 것이 중요합니다. 또 다른 문제는 스크립트 권한 문제입니다. 일부 환경에서는 스크립트 실행에 관리자 권한이 필요할 수 있습니다. 이럴 경우, `.vbs` 파일을 마우스 오른쪽 버튼으로 클릭하고 '관리자 권한으로 실행'을 선택해야 합니다. 작업 스케줄러를 사용하는 경우에도 해당 작업에 필요한 권한 설정을 확인해야 합니다. 때로는 백신 프로그램이나 방화벽이 스크립트의 실행을 차단할 수도 있습니다. 이런 경우, 일시적으로 보안 설정을 조정하거나 스크립트 파일을 예외 처리 목록에 추가하는 방법을 고려해볼 수 있습니다. 이러한 기본적인 문제 해결 팁을 숙지하고 있다면, 대부분의 스크립트 관련 문제를 해결하는 데 큰 도움이 될 것입니다.

 

▶ 1단계: 코드 문법 오류 확인 (오타, 괄호, 따옴표 등)

▶ 2단계: 관리자 권한으로 실행 시도

▶ 3단계: 백신 프로그램 및 방화벽 설정 확인

핵심 요약

• VBScript는 PC 자동 종료 예약을 위한 강력하고 유연한 도구입니다.
• 코드 작성 시 문법 오류에 주의하고, 필요시 관리자 권한으로 실행하세요.
• 작업 스케줄러를 활용하면 더욱 체계적인 예약 관리가 가능합니다.
• 문제 발생 시, 오류 메시지를 주의 깊게 살펴보고 기본적인 해결책부터 적용해보세요.




주요 질문 FAQ




Q. VBScript로 PC를 종료 예약하는 방법이 무엇인가요?

VBScript를 사용하면 윈도우 운영체제에서 자체적으로 제공하는 shutdown 명령어를 활용하여 PC 자동 종료 예약을 할 수 있습니다. 간단한 스크립트 작성으로 정해진 시간에 PC를 끄도록 설정할 수 있어, 불필요한 전력 낭비를 줄이거나 작업 완료 후 자동으로 PC를 종료할 때 유용합니다.




Q. 스크립트로 종료 시간을 정확히 몇 분 뒤로 설정할 수 있나요?

VBScript에서는 `shutdown /s /t [초]` 명령어를 사용하여 종료까지 남은 시간을 초 단위로 지정할 수 있습니다. 예를 들어 30분 뒤에 종료하고 싶다면, 30분 * 60초 = 1800초를 입력하여 `shutdown /s /t 1800`과 같이 스크립트를 작성하면 됩니다.




Q. 예약된 PC 종료를 취소하려면 어떻게 해야 하나요?

예약된 PC 종료를 취소하고 싶을 때는 `shutdown /a` 명령어를 사용하면 됩니다. VBScript 파일(.vbs)로 저장하여 실행하거나, 윈도우 명령 프롬프트(cmd) 창을 열어 `shutdown /a`를 직접 입력하여 실행하면 예약된 종료가 취소됩니다.




Q. 스크립트를 실행하면 바로 종료되는 것이 아니라, 메시지 창이 뜨나요?

기본적으로 `shutdown` 명령어는 실행하면 지정된 시간 후에 종료되며, 윈도우의 알림 기능을 통해 종료 예정임을 사용자에게 알립니다. 만약 이 알림 메시지를 표시하고 싶지 않다면, `shutdown /s /f /t [초]`와 같이 `/f` 옵션을 추가하여 강제로 종료하도록 설정할 수 있습니다. 단, 저장되지 않은 작업은 유실될 수 있으니 주의해야 합니다.




Q. VBScript로 특정 시간에 PC를 끄도록 설정할 수 있나요?

VBScript 자체만으로는 특정 시간을 지정하는 기능이 직접적으로 포함되어 있지 않습니다. 하지만 '예약 작업' 기능을 VBScript와 연동하여 특정 시간에 스크립트가 실행되도록 설정하면 가능합니다. 즉, '예약 작업'으로 VBScript를 매일 또는 매주 특정 시간에 실행되도록 설정하고, 해당 스크립트 안에서 `shutdown /s /t 60`과 같이 바로 종료되도록 하면 됩니다.




Q. 스크립트를 여러 번 실행하면 어떻게 되나요?

동일한 종료 예약 스크립트를 여러 번 실행할 경우, 각각의 종료 예약이 중첩되어 적용될 수 있습니다. 예를 들어, 10분 뒤 종료 예약을 한 상태에서 다시 20분 뒤 종료 예약을 하면, 시스템은 더 늦은 시간인 20분 뒤 종료 예약을 우선하거나, 두 예약이 순차적으로 작동하여 첫 번째 종료 시점 후 다시 두 번째 종료 시점에 종료될 수 있습니다. 이는 윈도우의 `shutdown` 명령어 작동 방식에 따라 달라지므로, 명확한 종료 시점을 원한다면 이전에 예약된 종료는 취소하는 것이 좋습니다.




Q. PC 재시작(restart)도 VBScript로 예약할 수 있나요?

네, 가능합니다. PC 종료 예약과 마찬가지로 `shutdown` 명령어를 사용하며, 재시작을 원할 경우에는 `/r` 옵션을 추가하면 됩니다. 예를 들어 1시간 뒤에 PC를 재시작하고 싶다면, `shutdown /r /t 3600` 과 같이 스크립트를 작성하면 됩니다. `/f` 옵션을 추가하면 저장되지 않은 작업 내용을 강제로 닫고 재시작합니다.




Q. VBScript로 예약한 종료를 사용자 계정 제한 없이 실행할 수 있나요?

VBScript를 사용하여 `shutdown` 명령어를 실행할 때는 해당 스크립트를 실행하는 사용자 계정에 PC 종료 권한이 있어야 합니다. 일반적인 관리자 권한이 있는 계정이라면 문제없이 실행되지만, 제한된 권한의 계정이라면 실행이 거부될 수 있습니다. 이런 경우, 관리자 권한으로 실행하거나 '예약 작업' 설정 시 '가장 높은 권한으로 실행' 옵션을 체크하여 해결할 수 있습니다.

baukuri
@baukuri

공감하셨다면 ❤️ 구독도 환영합니다! 🤗

목차