VB스크립트

위키백과, 우리 모두의 백과사전.

VB스크립트
개발자마이크로소프트
발표일1996년(28년 전)(1996)
최근 버전5.8
운영 체제윈도우
파일 확장자.vbs, .vbe, .wsf, .wsc (.hta, .htm, .html, .asp)
웹사이트docs.microsoft.com/en-us/previous-versions/t0aew7h6(v=vs.85)
주요 구현체
윈도우 스크립트 호스트, 액티브 서버 페이지
영향을 받은 언어
비주얼 베이직
영향을 준 언어
윈도우 파워셸

VB스크립트(VBScript)는 마이크로소프트가 개발한 액티브 스크립트 언어이다. 이 언어의 구문은 마이크로소프트의 비주얼 베이직 프로그래밍 언어 계통의 일부를 반영한다.

VB스크립트는 윈도우 98 이후의 여러 윈도우 운영 체제에서 기본으로 설치되어 있으며[1], 윈도우 서버 운영 체제의 경우 윈도우 NT 4.0 옵션 팩 이후로 이용이 가능하다.[2] 또, 실행 중인 장치의 목적과 구성에 따라 윈도우 CE에서도 선택적으로 이용이 가능하다.

초기에는 1970년대 말에 처음 개발된 배치 언어보다 더 강력한 자동화 도구 검색에 대한 지원을 윈도우 관리자로부터 받았다. VB스크립트는 호스트 환경 안에서 실행되어야 하며, 어떠한 환경에서는 마이크로소프트 윈도우의 표준 설치(윈도우 스크립트 호스트, 윈도우 인터넷 익스플로러) 위에 제공된다. 게다가 VB스크립트 호스트 환경은 마이크로소프트 스크립트 컨트롤(msscript.ocx)과 같은 기술을 통해 다른 프로그램에 이식되는 경우가 있다.

예제[편집]

다음 예제는 Microsoft Windows NT 시스템의 WMI(Windows Management Instrumentation) 서비스를 이용하여 메모장 프로그램의 프로세스(notepad.exe)를 종료시킨다.

Option Explicit ' 변수 선언 요구
On Error Resume Next ' 오류가 발생해도 속행
Const ProcessToKill = "notepad.exe" ' 종료할 프로세스 명 지정 (notepad.exe)
Dim oWMI, oQuery, oProc, iCount ' 변수 선언
Set oWMI = GetObject("winmgmts:") ' 로컬 컴퓨터의 WMI 서비스에 접속하여 WMI 서비스 개체 취득
If Not IsObject(oWMI) Or oWMI Is Nothing Then ' WMI 서비스 개체를 얻는 데에 실패했다면
    ' 오류 메시지 출력
    MsgBox "WMI 서비스가 실행 중이 아닙니다." & vbCrLf & vbCrLf & _
    "이 스크립트는 윈도우 NT 이상, WMI 서비스가 실행 중인 컴퓨터에서만 실행 가능합니다.", vbCritical

    ' 종료 코드 1번으로 스크립트 실행 종료
    WScript.Quit 1
End If

' WMI 서비스에 쿼리를 보내 ProcessToKill 상수에 지정된 프로세스와 같은 프로세스 개체를 검색함
Set oQuery = oWMI.ExecQuery("SELECT * FROM win32_process WHERE Name = '" & ProcessToKill & "'")
iCount = 0 ' 프로세스 카운트 변수 초기화
' 쿼리 내에 검색된 각각의 모든 개체(프로세스 개체) oProc 들에 대해
For Each oProc In oQuery
    oProc.Terminate ' 프로세스를 강제로 종료
    iCount = iCount + 1 ' 프로세스 카운트를 하나 증가
Next ' oProc

' 결과를 사용자에게 출력
If iCount > 0 Then
    WScript.Echo "총 " & iCount & " 개의 메모장 프로세스가 종료되었습니다."
Else
    WScript.Echo "컴퓨터에 실행 중인 메모장 프로세스를 발견할 수 없었습니다."
End If

' 개체의 인스턴스를 해제함
Set oProc = Nothing
Set oQuery = Nothing
Set oWMI = Nothing

같이 보기[편집]

각주[편집]

외부 링크[편집]

  • VBScript (마이크로소프트 개발자 네트워크)