VBScript

VBScript
VBScript
VBSccript file format icon.png
개발자마이크로소프트
처음 등장한1996년; 26년 전(1996년)
안정된 릴리스
5.8
OS창문들
파일 이름 확장자.vbs, .vbe, .wsf, .wsc(.asp, .hta, .htm, .ws)
웹 사이트docs.microsoft.com/en-us/previous-versions/t0aew7h6(v=vs.85)
주요 구현
Windows 스크립트호스트, 액티브서버 페이지
영향을 받다
비주얼 베이직
영향받은
Windows PowerShell

VBScript ('Microsoft Visual Basic Scripting Edition')Visual Basic을 기반으로 마이크로소프트가 개발한 액티브 스크립트 언어입니다.를 통해 Microsoft Windows 시스템 관리자는 오류 처리, 서브루틴 및 기타 고급 프로그래밍 구조를 사용하여 컴퓨터를 관리하기 위한 강력한 도구를 생성할 수 있습니다.이를 통해 사용자는 컴퓨팅 환경의 다양한 측면을 완벽하게 제어할 수 있습니다.

VBScript는 Component Object Model을 사용하여 실행 중인 환경의 요소에 액세스합니다.예를 들어 File System Object(FSO)는 파일 작성, 읽기, 업데이트삭제사용됩니다.VBScript는 Windows [1]98 이후 Microsoft Windows의 모든 데스크톱릴리즈, Windows NT 4.0 옵션팩 [2]이후 Windows ServerWindows CE(설치되어 있는 디바이스에 따라 다름)에서 기본적으로 설치되어 있습니다.

VBScript 스크립트는 호스트 환경 내에서 실행해야 합니다.이 중 Microsoft Windows에는 다음과 같은 여러 스크립트가 준비되어 있습니다.Windows Script Host(WSH), Internet Explorer(IE) 및 Internet Information Services(IIS;[3] 인터넷 인포메이션 서비스)가 있습니다.또한 VBScript 호스팅 환경은 Microsoft Script Control 등의 테크놀로지를 통해 다른 프로그램에 내장할 수 있습니다.msscript.ocx)를 참조해 주세요.

역사

VBScript는 1996년에 출시된 Microsoft Windows Script Technologies의 일부로 시작되었습니다.이 기술(JScript도 포함)은 처음에는 웹 개발자를 대상으로 했습니다.VBScript는 2년이 조금 넘는 기간 동안 버전 1.0에서 2.0으로 발전했으며, 그 기간 동안 [4]Windows 시스템 관리자로부터 1980년대 초에 처음 개발된 배치 언어보다 더 강력한 자동화 도구를 찾는 지원을 받았습니다.1996년 8월 1일 Internet Explorer는 VBScript를 [5]포함한 기능을 탑재하여 출시되었습니다.

버전 5.0에서는 정규 표현, 클래스, With 스테이트먼트,[6] 다른 스크립트 실행 중에 작성된 스크립트명령어 평가 및 실행을 위한 Eval, ExecuteExecuteGlobal 함수, GetRef [7]Distributed COM(DCOM; 분산 COM) 지원을 통한 함수 포인터 시스템 등의 새로운 기능으로 VBScript의 기능이 향상되었습니다.

버전 5.5에서는 SubMatches[8] VBScript의 정규 표현 클래스에 추가되어 스크립트 작성자가 표현식 그룹 내의 텍스트를 캡처할 수 있게 되었습니다.이 기능은 JScript에서 이미 사용 가능했습니다.

등장으로.NET Framework, 스크립트 팀은 향후 ASP 내에서 VBScript 지원을 구현하기로 결정했습니다. [9]개발을 위한 NET이므로 새로운 버전의 VBScript 엔진은 개발되지 않습니다.따라서 버그 수정 및 보안 강화를 담당하는 마이크로소프트의 Sustaining Engineering Team의 지원을 받게 됩니다.Windows 시스템 관리자의 경우 Microsoft는 Windows PowerShell로 마이그레이션할 것을 권장합니다.다만, 스크립팅 엔진은, 향후의 Microsoft Windows [citation needed]및 IIS 릴리스와 함께 계속 출하됩니다.

환경

Microsoft Internet Explorer에서 클라이언트 측 웹 개발에 사용되는 경우 VBScript는 JavaScript와 기능이 유사합니다.HTML 페이지에 포함되거나 HTML 페이지에 포함된 실행 가능 함수를 작성하고 페이지의 문서 개체 모델(DOM)과 상호 작용하여 HTML에서만 불가능한 태스크를 수행하는 데 사용됩니다.그러나 Firefox 및 Opera같은 다른 웹 브라우저와 최근 Chrome은 VBScript를 기본적으로 지원하지 않습니다.즉, 클라이언트 측 스크립트와 브라우저 간 호환성이 필요한 경우 개발자는 보통 VBScript와 같은 다른 대부분의 프로그래밍 언어보다 JavaScript를 선택합니다.

VBScript는 특히 Microsoft Active Server Pages(ASP)에서 웹 페이지의 서버 측 처리에도 사용됩니다.ASP 엔진 및 유형 라이브러리 asp.dllvbscript.dll을 호출하여 VBScript 스크립트를 실행합니다.ASP 페이지에 내장된 VBScript는 <% 및 %> 컨텍스트스위치에 포함되어 있습니다.다음 VBScript를 사용한ASP 페이지의 예에서는 현재 시각이 24시간 형식으로 표시되지만 윈도우즈 운영 체제 오류 메시지의 기본 스크립트로도 사용됩니다.

    % 미만선택명시적%>  <!DO3}PE HTML Public -//W3C//DTD HTML 4.01 전환기//EN" "http://www.w3.org/TR/html4/loose.dtd">  <blocks>   <헤드>    <title> VBScript 예시 </title>   </head>   <본문>    <div> <%      ' Now() 함수에서 현재 시간을 가져옵니다.     컨텍스트 전환(<%) 뒤에 발생하는 '=' 기호는 줄임말입니다.     Response 객체의 Write() 메서드에 대한 호출입니다.           어둡다시간 값:시간 값=지금이다%> 시간은 24시간 형식입니다.    <%=시간(시간값)%>: <%=(시간값)%>:<%=(시간값)%>    </div>   </body>  </filters> 

VBScript 는, Microsoft Windows 를 실행하고 있는 워크스테이션상에서 직접 동작하는 애플리케이션을 작성하기 위해서도 사용할 수 있습니다.가장 간단한 예는 WSH(Windows Script Host) 환경을 사용하는 스크립트입니다.이러한 스크립트는 보통 파일 확장자를 가진 독립 실행형 파일에 있습니다. .vbs스크립트는 다음 두 가지 방법으로 호출할 수 있습니다.스크립트exe 는, 다이얼로그 박스나 입력 박스등의 GUI 를 개입시켜 출력을 표시해, 입력을 수신하기 위해서 사용합니다.스크립트exe명령줄 환경에서 사용됩니다.

VBScript 는, 다음의 2 종류의 스크립트 파일에 포함할 수 있습니다.Windows 스크립트 파일 및 HTML 응용 프로그램.

Windows Script File(WSF; Windows 스크립트파일)은 XML을 따서 스타일링됩니다.WSF 파일에는 복수의 VBS 파일을 포함할 수 있습니다.따라서 WSF 파일은 코드 재사용 수단을 제공합니다.클래스 또는 함수의 라이브러리를 1개 또는 여러 개에 저장할 수 있습니다..vbs파일, 파일, 파일, 파일, 파일, 파일, 파일, 파일 및 파일,.wsf이 기능을 모듈러 방식으로 재사용할 수 있습니다.파일 확장자가 있습니다..wsfwscript를 사용하여 실행할 수 있습니다.exe 또는 cscript.exe, 즉.vbs파일 할 수 있습니다.

HTML 어플리케이션(HTA)은 HTML을 본떠 스타일링됩니다.파일 내의 HTML은 사용자 인터페이스를 생성하기 위해 사용되며 VBScript 등의 스크립트 언어가 프로그램 로직에 사용됩니다.파일 확장자가 있습니다..htamshta.exe를 사용하여 실행할 수 있습니다.

VBScript(및 JScript)는 다른 COM 지원 [10]응용 프로그램에서 호출할 수 있는 ActiveX 지원 스크립트 클래스인 Windows Script Component에서도 사용할 수 있습니다.이러한 파일의 확장자는 .wsc 입니다.

VBScript는 간단하게 작성할 수 있으며 메모장 등의 사용하기 쉬운 텍스트에디터를 사용하여 코드화할 수 있습니다.에 의해 저장된 간단한 VBScript.vbsWindows 시스템을 더블 클릭하면 확장 기능을 실행할 수 있습니다.

기능

언어 기능

VBScript의 언어는 Visual Basic을 기반으로 모델화되어 있기 때문에 절차, 제어 구조, 상수, 변수, 사용자 상호작용, 배열 처리, 날짜/시간 함수, 오류 처리, 수학 함수, 객체, 정규식, 문자열 조작 등의 [11]유사한 카테고리를 사용하여 검토할 수 있습니다.

다음은 Microsoft가 VBScript 언어를 도입하기 위한 주요 포인트입니다.

"프로시저"는 코드를 더 작은 모듈로 분리하기 위한 VBScript의 주요 구조입니다.VBScript는 할당문으로 결과를 반환할 수 있는 함수와 반환할 수 없는 서브루틴을 구분합니다.파라미터는 위치이며 값 또는 참조로 전달할 수 있습니다.

제어 구조에는 일반적인 반복 및 조건부 Do Loops, If-Then-Else 문 및 사례 문장이 포함되며, Else If 및 중첩된 제어 구조와 같은 보다 복잡한 변형도 포함됩니다.

부호화에 도움이 되는 메모리로서, 확실히 가독성을 위해서, 논리치에 대해서는 True와 False, MsgBox 코드에 대해서는 vbOKCancel과 vbYesNo, 색상치에 대해서는 vbBBlack과 vbYellow, 캐리지 리턴 문자에 대해서는 vBCR 등, 다수의 상수가 있습니다.

변수에는 기본적으로 "변수" 유형이 있지만 변환 함수(CINT, CDate 등)를 사용하여 특정 유형(정수, 날짜 등)을 강제로 적용할 수 있습니다.

기능을 통해 사용자 상호 작용 제공MsgBox그리고.InputBox메시지 및 입력에 대한 간단한 대화 상자 형식을 제공합니다.두 함수 모두 프롬프트메시지를 표시하고 전자는 표준 응답을 반환하고 후자는 사용자가 지정한 텍스트 또는 숫자 값을 반환합니다.컨트롤과의 보다 정교한 GUI 상호작용을 위해 VBScript는 HTML 어플리케이션 등에서 HTML과 조합하여 사용할 수 있습니다.Visual Basic 또는 Visual Basic for Applications와 같이 이벤트 기반 양식은 지원되지 않습니다.

이름은 대소문자를 구분하지 않습니다.그러나 일관성을 유지하고 신중하게 대문자를 사용하는 것이 VBScript 스타일의 모범 사례로 간주됩니다.

VBScript 기능

VBScript는 Windows Script 호스트에서 호스트할 때 스크립트 언어에는 공통이지만 Visual Basic 6.0에서는 사용할 수 없는 다양한 기능을 제공합니다.이러한 기능에는, 직접 또는 간단하게 액세스 할 수 있는 기능이 있습니다.

  • named 및 named 명령줄 인수,
  • StdinStdout은 리다이렉트 될 수 있어요
  • WSH.Echo: 콘솔에 쓰므로 리다이렉트 할 수 없습니다.
  • WSH.ExitCode는 DOS 배치파일 또는 스크립트파일을 호출한 프로세스에서 테스트할 수 있습니다.
  • 네트워크 프린터,
  • 네트워크 공유,
  • 특수 폴더(데스크탑, 즐겨찾기, My Documents 등)
  • 그룹 멤버십 등의 네트워크 사용자 정보
  • 런타임에 정의된 텍스트의 런타임 실행 방법:평가 및 실행,
  • 리모트 머신에서 스크립트를 실행하는 방법,
  • Windows Management Instrumentation(WMI)
  • 널리 알려진 언어를 사용하여 다른 응용 프로그램에 VBScript 엔진을 내장하는 기능.

명령줄 러너인 CScript는 다음 옵션을 제공합니다.

  • 인터랙티브 모드 또는 배치 모드,
  • 명령줄에서 디버깅모드를 호출하고 있습니다.
  • 회선 번호를 포함한 에러 리포트.

추가 기능

파일 시스템 관리, 파일 수정 및 스트리밍 텍스트 조작은 스크립트 런타임 라이브러리에서 구현됩니다.scrrun.dll이를 통해 File System Object, File, Text Stream 등의 오브젝트가 제공되어 Windows 파일시스템이 프로그래머에게 공개됩니다.

바이너리 파일과 메모리 I/O는 ADODB에 의해 제공됩니다.Stream" 클래스는 스트링 빌더(비용이 많이 드는 과도한 스트링 연결 방지) 및 바이트 배열 및 스트링 상호 변환에도 사용할 수 있습니다.데이터베이스 액세스는 ActiveX Data Objects(ADO)를 통해 가능하며 IIS 메타베이스는 충분한 권한을 가진 GetObject() 함수를 사용하여 조작할 수 있습니다(사이트 및 가상 디렉토리를 작성 및 파기할 때 유용합니다).XML 파일 및 스키마는 Microsoft XML Library Application Programming Interfaces(msxml6.dll, msxml3.dll)를 사용하여 조작할 수 있으며 XMLHTTP 및 ServerXMLHTTP 객체(클래스 문자열 "MSXML2HT")를 통해 월드 와이드 웹에서 콘텐츠를 가져올 수도 있습니다.ServerXMLHTTP.6.0"을 참조해 주세요).

ActiveX 테크놀로지를 통해서도 기능을 추가할 수 있습니다.보안 문제로 인해 Microsoft는 Internet Explorer 프로세스에서 많은 ActiveX 컨트롤을 블랙리스트에 올렸습니다.Microsoft는 취약한 Microsoft 및 서드파티 [12][13]코드를 비활성화하기 위해 매월 Windows 보안 업데이트를 통해 킬비트를 배포합니다.

프로그래머는 COM(ActiveX) 모듈을 통해 확장성을 활용하여 스크립트호스트와 VBScript에 필요한 기능 또는 필요한 기능을 탑재할 수 있습니다.예를 들어 "VTool" 구성 요소는 여러 대화 상자 창, 이진 파일 액세스 및 기타 [14]기능을 추가합니다.

개발 도구

Microsoft Script Editor 는 Microsoft Office 의 특정 버전에 번들 되어 있습니다만, Microsoft 에서는 VBScript 용 IDE(Integrated Development Environment)를 통상적으로 제공하고 있지 않습니다.

디버깅을 위해 Microsoft Script Debugger는 현재 Windows 버전에서도 사용할 수 있습니다.다만, 이 툴은 몇년간 갱신되지 않았습니다.사용자는 VBScript 코드로 브레이크 포인트를 설정할 수 있지만 사용자 인터페이스는 서투릅니다.

서드파티 [15][16]소스로부터 VBScript 디버거를 이용할 수 있으며, 많은 텍스트에디터에서는 언어에 대한 구문 강조 표시를 제공하고 있습니다.

실행 중 오류가 발생하면 스크립트호스트는 오류 유형과 문제 행의 수를 나타내는 메시지를 발행합니다.

사용하다

VBScript는 범용 스크립트 언어이지만 몇 가지 특정 분야에서 사용할 수 있습니다.첫째, 이전에는 마이크로소프트 환경에서 시스템 관리자 사이에서 널리 사용되었지만, 그 이후 PowerShell에 의해 크게 앞섰습니다.[17]둘째, VBScript는 테스트 자동화 [18]도구인 Micro Focus Unified Functional Testing 스크립트 언어입니다.세 번째 주의할 점은 산업용 오퍼레이터 인터페이스나 휴먼 머신 인터페이스 등 일부 임베디드 애플리케이션의 내부 스크립트 언어로서 VBScript를 채택한 것입니다.계층형 DBMS InterSystems Caché(MUMP 언어에 뿌리를 두고 있음)도 저장된 [19]코드를 프로그래밍하기 위한 VBScript인 Cache BASIC 구현을 지원합니다.

VBScript는 강력한 타이핑, 확장된 오류 트래핑, 가변 개수의 파라미터를 서브루틴에 전달하는 기능 등 Visual Basic의 유용한 기능을 생략하고 있습니다.다만, VBScript 상표가 [citation needed]인정되고 있는 한, 그 언어의 코드를 실장하는 사람이 Microsoft에 로열티를 지불할 필요가 없기 때문에, 그 사용은 비교적 널리 행해지고 있습니다.오토데스크, StatSoft, Great Plains Accounting 및 Visio(이후 Microsoft에 인수됨)와 같이 조직이 Microsoft로부터 VBA(Visual Basic for Applications)를 라이센스할 경우 VBA 코드 작성 및 디버깅 환경 전체를 제품과 함께 재배포할 수 있습니다.

Outlook 97의 매크로 언어로서 VBA 대신에 VBScript 가 사용됩니다.

VBScript는 일상 업무 자동화 및 Windows 기반 환경에서의 모니터링에 효과적으로 사용할 수 있습니다.또한 ADODB ActiveX Data Objects(ADODB)와 연계하여 데이터베이스 연결을 효과적으로 수행할 수도 있습니다.

VBScript는 Outlook 97의 이메일 첨부 파일을 통해 확산되는 ILOVEYOU 웜과 같은 악성 프로그램 및 바이러스 생성에도 사용할 수 있습니다.이 웜은 수십억 달러의 비용이 듭니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ MSDN에서의 WSH 버전 정보
  2. ^ MSDN에서의 VBScript 버전 정보
  3. ^ MSDN 라이브러리의 VBScript란?
  4. ^ 86-DOS
  5. ^ "The History of Visual Basic". www.johnsmiley.com.
  6. ^ Visual Basic Scripting Edition: MSDN에서의 스테이트먼트 사용
  7. ^ MSDN 상의 GetRef 함수
  8. ^ Visual Basic Scripting Edition: MSDN에서의 서브매치 컬렉션
  9. ^ JScript 소개 기사VBScript에 대해서Microsoft Corporation의 Andrew Clinick의 MSDN 스크립트 클리닉 (2000년 7월 14일)
  10. ^ MSDN에서의 Windows 스크립트컴포넌트 소개
  11. ^ "VBScript Features". msdn.microsoft.com.
  12. ^ "How to stop an ActiveX control from running in Internet Explorer". Microsoft. 2007-08-24. Retrieved 2009-06-29.
  13. ^ "Microsoft Security Advisory (960715): Update Rollup for ActiveX Kill Bits". Microsoft. 2009-01-17. Retrieved 2009-06-29.
  14. ^ "VTool" 스크립트 컴포넌트– WSH/VBS의 GUI 및 기능 확장
  15. ^ "VbsEdit - VBScript Editor with Debugger - VBS Editor". www.vbsedit.com.
  16. ^ Corp., Spline Technologies. "SplineTech VBS Debugger, VBScript Debugger. Debug VBS". www.remotedebugger.com.
  17. ^ 스크립트 센터, 시스템 관리 스크립트를 대상으로 하는 Microsoft 웹 사이트
  18. ^ "Quick Test Professional – Basics of VBScript".
  19. ^ "Caché for Unstructured Data Analysis". InterSystems. Retrieved 2018-09-24.

외부 링크