From Seo Wiki - Search Engine Optimization and Programming Languages
|Usual file extensions||.vbs, .vbe, .wsf, .wsc (.htm, .html, .asp)|
|Major implementations||Windows Script Host, Active Server Pages|
|Influenced by||Visual Basic|
VBScript (short for Visual Basic Scripting Edition) is an Active Scripting language, developed by Microsoft, which uses the Component Object Model to access elements of the environment within which it is running (e.g. FileSystemObject or FSO used to create, read, update and delete files). The language's syntax reflects its origins as a limited variation of Microsoft's Visual Basic programming language.
VBScript has been installed by default in every desktop release of Microsoft Windows since Windows 98; as part of Windows Server since Windows NT 4.0 Option Pack; and optionally with Windows CE (depending on the device it is installed on).
A VBScript script must be executed within a host environment, of which there are several provided with Microsoft Windows, including: Windows Script Host (WSH), Internet Explorer (IE), Internet Information Services (IIS). Additionally, The VBScript hosting environment is embeddable in other programs, through technologies such as the Microsoft Script control (msscript.ocx).
VBScript began as part of the Microsoft Windows Script Technologies, which were launched in 1996, initially targeted at web developers. During a period of just over two years, the VBScript and JScript languages advanced from version 1.0 to 2.0, and over that time it gained support from Windows system administrators seeking an automation tool more powerful than the batch language first developed in the late 1970s.
In version 5.0, the functionality of VBScript was increased with new features such as: regular expressions; classes; the With statement; the Eval, Execute, and ExecuteGlobal functions to evaluate and execute script commands built during the execution of another script; a function-pointer system via GetRef, and Distributed COM (DCOM) support.
In version 5.5, SubMatches were added to the regular expression class in VBScript, to finally allow VBScript script authors to capture the text within the expression's groups. That capability before was only possible through JScript.
With the advent of the .NET framework, the scripting team took the decision to implement future support for VBScript within ASP.NET for web development, and therefore no new versions of the VBScript engine would be developed and it moved over to being supported by Microsoft's Sustaining Engineering Team, who are responsible for bug fixes and security enhancements. For Windows system administrators, Microsoft suggests that they migrate to Windows PowerShell. However the scripting engine will continue to be shipped with future releases of Microsoft Windows and IIS.
Besides client-side web development, VBScript is used for server-side processing of web pages, most notably with Microsoft Active Server Pages (ASP). The ASP engine and type library, asp.dll, invokes vbscript.dll to run VBScript scripts. VBScript that is embedded in an ASP page is contained within <% and %> context switches. The following example of an ASP page with VBScript displays the current time in 24-hour format (Note that an '=' sign occurring after a context switch (<%) is short-hand for a call to Write() method of the Response object).
<% Option Explicit %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>VBScript Example</title> </head> <body> <div><% ' Grab current time from Now() function. Dim timeValue timeValue = Now() %> The time, in 24-hour format, is <%=Hour(timeValue)%>:<%=Minute(timeValue)%>:<%=Second(timeValue)%>. </div> </body> </html>
VBScript can also be used to create applications that run directly on a person's computer running Microsoft Windows. The simplest example of this is a script that makes use of the Windows Script Host (WSH) environment. Such a script is usually in a stand-alone file with the file extension
.vbs. The script can be invoked in two ways. Wscript.exe is used to display output and receive input in through a GUI, such as dialog and input boxes. Cscript.exe is used in a command line environment.
.vbs files can be included in two other types of scripting files:
.wsf files, which are styled after XML; and
.hta files, which are styled after HTML.
.wsf files can be executed using wscript.exe or cscript.exe, just like
.vbs files, and
.wsf files can include multiple
.vbs files. As a result
.wsf files provide a means for code reuse: one can write a library of classes or functions in one or more
.vbs files, and include those files in one or more
.wsf files to use and reuse that functionality in a modular way.
Another employment of VBScript is the HTML Application, or HTA (file extension
.hta). In an HTA, HTML is used for the user interface, and a scripting language such as VBScript is used for the program logic. HTAs run inside of
mshta.exe, which is a 'Trusted Application Environment' provided by Internet Explorer. The 'Trusted Application Environment', implies that HTAs do not suffer the restrictions applied to applications running in the web or intranet zone, such as accessing local files or network paths. Although HTAs run in this 'trusted' environment, querying Active Directory can be subject to Internet Explorer Zone logic and associated error messages.
Lastly, VBScript has been adopted as the internal scripting language for some embedded applications, such as industrial operator interfaces and human machine interfaces.
As-is, VBScript provides functions and sub-routines, basic date/time, string manipulation, math, user interaction, ease of access, error handling, and regular expressions. Additional functionality can be added through the use of ActiveX technologies. File system management, file modification, and streaming text operations can be achieved with the Scripting Runtime Library scrrun.dll. Binary file and memory I/O is provided by the "ADODB.Stream" class, which can also be used as a string builder (since a high amount of VBScript string concatenation is costly due to constant memory re-allocation), and can be used to convert an array of bytes to a string and vice versa. Database access is made possible through ActiveX Data Objects (ADO), and the IIS Metabase can be manipulated using the GetObject() function with sufficient permissions (useful for creating and destroying sites and virtual directories). Additionally, XML files and schemas can be manipulated with the Microsoft XML Library Application Programming Interfaces (msxml6.dll, msxml3.dll), which also can be used to retrieve content from the World Wide Web via the XMLHTTP and ServerXMLHTTP objects (class strings "MSXML2.XMLHTTP.6.0" and "MSXML2.ServerXMLHTTP.6.0", respectively).
Security concerns have led to many ActiveX controls being blacklisted in the Internet Explorer process by Microsoft, who deploy the "killbit" via monthly Windows security updates to disable vulnerable Microsoft and third party code.
This is an example of Hello World in VB script
For this to run it must be saved as a .vbs file.
- ↑ WSH Version Information, on MSDN
- ↑ VBScript Version Information, on MSDN
- ↑ Visual Basic Scripting Edition: With Statement, on MSDN
- ↑ GetRef Function, on MSDN
- ↑ Visual Basic Scripting Edition: SubMatches Collection, on MSDN
- ↑ What About VBScript?, within the article Introducing JScript .NET by Andrew Clinick of Microsoft Corporation, in Scripting Clinic on MSDN (July 14, 2000)
- ↑ Introducing Windows Script Components, on MSDN
- ↑ "How to stop an ActiveX control from running in Internet Explorer". Microsoft. 2007-08-24. http://support.microsoft.com/kb/240797. Retrieved 2009-06-29.
- ↑ "Microsoft Security Advisory (960715): Update Rollup for ActiveX Kill Bits". Microsoft. 2009-01-17. http://www.microsoft.com/technet/security/advisory/960715.mspx. Retrieved 2009-06-29.
- VBScript in the Microsoft Developer Network
- Windows Script 5.6 Documentation
- Use of VBScript in QTP (Test Automation Tool)