티스토리 뷰

VB스크립트란 (VBS란) Visual Basic Script

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

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

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

 

 

예제[편집]

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

test.vbs 와같은 확장자를 이용하여 편집후 윈도우 프로그램 CMD 혹은 PowersShell에서 실행하면 테스트 가능하다.

 

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
댓글

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



Total
Today
Yesterday
최근에 달린 댓글