WSH, Part 2: .wsf Files

Understanding and creating Windows script files

Bill Stewart

January 16, 2006

9 Min Read
ITPro Today logo


As I described in "WSH, Part 1: File Types," January 2006, InstantDoc ID 48498, Windows Script Host (WSH) is a COMbased scripting host that can execute scripts in Windows. It natively supports both JScript and VBScript, but other languages are also available if you install them separately.

WSH can execute both standalone (e.g., language-specific) scripts and Windows Script file (.wsf) scripts. The latter scripts are XML-formatted text files that can contain code in more than one scripting language. Although they're slightly more complex to write, .wsf scripts provide the script author some other useful features that are tedious or difficult to implement by using standalone scripts.

The .wsf XML File Format
The XML format that .wsf scripts use looks similar to HTML. XML uses markup tags enclosed in angle brackets (< >), called elements, that describe the data in the file. The full list of XML elements used in .wsf files is provided at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsorixmlelements.asp. A brief overview of XML syntax is as follows:

  1. The file should begin with the element to indicate that the file is in XML format.

  2. Elements are case sensitive and are enclosed in angle brackets.

  3. The opening tag for an element is specified as , and the closing tag uses a forward slash after the opening angle bracket and before the element name (e.g., ).

  4. Elements can have one or more attributes expressed in the form attribute="value". The attribute's value must be enclosed in double quotes. For example, .

  5. If an element doesn't have a closing tag, you must use a forward slash before the closing angle bracket in the opening tag; for example, < elementname attribute="value"/>.

  6. Elements can include other elements as long as the tags don't overlap (i.e., the inner element must have an opening and closing tag before the outer element's closing tag).

  7. You can create a comment element by inserting text between the opening tag.

When you use the element, the angle brackets (< and >) and ampersand (&) characters have special meanings to the XML parser when they occur in element content and must be replaced with the character sequences <, >, and &, respectively.

Unfortunately, these characters tend to occur frequently in VBScript and JScript code. To avoid having to make the replacements while still avoiding XML parsing problems, you can enclose all VBScript and JScript code between the markers.

Listing 1 shows the minimum required XML elements for a .wsf script. There must be at least one element. The

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like