1. Trang chủ
  2. » Công Nghệ Thông Tin

Microsoft WSH and VBScript Programming for the Absolute Beginner Part 43 ppt

10 143 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 223,12 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

The following example demonstrates how to use the tag within a Windows Script File: MsgBox “Error handling and debugging have been enabled.” As you can see, both error reporting and

Trang 1

The WSH currently supports XML version 1.0 Version 1.0 supports both upper-case and lowerupper-case spelling of tag elements However, lowerupper-case spelling is preferred, and I recommend that you do use only lowercase spelling This way, if lowercase spelling becomes a requirement in a future version of XML, you will not have to retrofit your Windows Scripts Files for them to continue to run

Examining WSH Supported XML Tags

XML represents an extensive and powerful multipurpose markup language XML is therefore often used in many environments, including the WSH In this chapter, I’ll introduce you to

a number of commonly used XML tags, and I’ll provide examples of how they’re used to build Windows Script Files

To begin, take a look at Table 12.1, which shows the XML tags that you’ll see demonstrated

in this chapter’s examples

T R I C K

<?job ?> Enables or disabled error handling and debugging for a specified job.

<?XML ?> Specifies the Windows Script File’s XML level.

<comment> </comment> Embeds comments within Windows Script Files.

<script> </script> Identifies the beginning and ending of a script within a Windows

Script File.

<job> </job> Identifies the beginning and ending of a job inside a Windows Script File.

<package> </package> Enables multiple jobs to be defined within a single Windows Script File.

<resource> </resource > Defines static data (constants) that can be referenced by script within

a Windows Script File.

TA B L E 12 1 X M L TA G S CO M M O N LY US E D

I N WI N D O W S SC R I P T FI L E S

Using the <?job ?> Tag

The <?job ?>tag allows you to enable or disable error reporting and debugging within your Windows Script Files The use of this tag is optional Unlike most tags, the <?job ?>tag does not have a closing tag The syntax for this tag is as follows:

<?job error=”flag” debug=”flag” ?>

Trang 2

Both error and debug are Boolean values By default, both are set equal to false Setting error=“true”turns on error reporting, thus allowing syntax and run-time error messages to

be reported Setting debug=“true” turns on debugging for Windows Script Files, allowing them to start the Windows script debugger

To take advantage of the <?job ?>tags’ debug capability, you’ll need to install the Microsoft Windows script debugger utility This utility is designed to assist programmers in debugging script errors To learn more about this utility, check out msdn.microsoft.com/scripting

The following example demonstrates how to use the <?job ?>tag within a Windows Script File:

<job>

<?job error=”true” debug=”true”?>

<script language=”VBScript”>

MsgBox “Error handling and debugging have been enabled.”

</script>

</job>

As you can see, both error reporting and script debugging have been enabled

Using the <?XML ?> Tag

The <?XML ?>tag is used to specify the version of XML required to support a Windows Script File As with the <?job ?>tag, the use of this tag is optional

When used, the <?XML ?>tag must be the first tag defined as the first statement in the Win-dows Script File The syntax for the <?XML ?>tag is as follows:

<?XML version=”version” standalone=”DTDflag” ?>

Version specifies the version of XML required to support the Windows Script File The cur-rent version is 1.0 Standalone is used to specify an external Document Type Definition, which is a feature not currently supported by the WSH However, you can still include it if you want, but you’ll have to specify it as having a value of Yes(but it will still be ignored) When used, the <?XML ?> tag enforces stricter interpretation of all XML statements; it also enforces case-sensitivity, while requiring that all values be specified within either single or double quotes Omitting this tag provides for a less restrictive syntax Let’s look at the fol-lowing example, which demonstrates the placement of a <?XML ?>tag at the beginning of a small Windows Script File

T R I C K

Trang 3

<?XML version=”1.0” standalone=”yes” ?>

<job>

<?job error=”true” debug=”true”?>

<script language=”VBScript”>

MsgBox “Error handling and debugging have been enabled.”

</script>

</job>

The <comment> </comment> Tags

You can document the XML statements used within your Windows Script Files using the XML <comment>and </comment>tags Using these tags, you can spread comments over multiple lines The syntax for the <comment>and </comment>tags is as follows:

<comment> Comment Text </comment>

The following example demonstrates the use of the XML <comment>and </comment>tags

<?XML version=”1.0” standalone=”yes” ?>

<job>

<?job error=”true” debug=”true”?>

<comment>The following VBScript displays an information message</comment>

<script language=”VBScript”>

MsgBox “Error handling and debugging have been enabled File “

</script>

</job>

The <job> </job> Tags

To embed a script into a Windows Script File, you must first define a pair of root tags The

<job>and </job>tags provide one type of root tag pair

All Windows Script Files are composed of at least one job The beginning and ending of a job are identified by the <job>and </job>tags The syntax for the tags is as follows:

<job [id=JobID]>

.

</job>

When only one job is defined within a Windows Script File, the id=JobIDparameter can be omitted from the opening <job>tag However, if two or more jobs are defined within a single Windows Script File, each must be given a unique IDassignment This assignment allows you to execute any job within the Windows Script File

Trang 4

The following example shows a Windows Script File that contains a single job The job itself

is made up of two different scripts:

<?XML version=”1.0” standalone=”yes” ?>

<job>

<?job error=”true” debug=”true”?>

<comment>The following VBScript displays a information message</comment>

<script language=”VBScript”>

MsgBox “VBScript has displayed this message.”

</script>

<comment>The following JScript displays an information message</comment>

<script language=”JScript”>

WScript.Echo(“JScript has displayed this message.”);

</script>

</job>

If you double-click on the file, you’ll see two pop-up dialogs appear, as shown in Figures 12.6 and 12.7 The VBScript generates the first pop-up dialog, and the JScript generates the other

To place more than one job within a Windows Script File, you must use the <package>and

</package>tags, which I’ll explain next

Figure 12.6

A pop-up dialog

displayed by the

Windows Script

File’s VBScript.

Figure 12.7

A pop-up dialog

displayed by the

Windows Script

File’s JScript.

Trang 5

The <package> </package> Tags

To place more than one job within a Windows Script File, you must enclose the jobs within the <package>and </package> tags The syntax for these tags is as follows:

<package>

.

</package>

To understand their use, look at the following example:

<?XML version=”1.0” standalone=”yes” ?>

<package>

<comment>The following job contains a VBScript and a JScript</comment>

<job id=”job1”>

<?job error=”true” debug=”true”?>

<comment>The following VBScript displays an information message</comment>

<script language=”VBScript”>

MsgBox “A VBScript has displayed this message.”

</script>

<comment>The following JScript displays an information message</comment>

<script language=”VBScript”>

WScript.Echo “A JScript has displayed this message.”

</script>

</job>

<comment>The following job contains one VBScript</comment>

<job id=”job2”>

<script language=”VBScript”>

MsgBox “A second VBScript has displayed this message.”

</script>

</job>

</package>

In this Windows Script File, the <package>and </package>tags are used to define two jobs The first job is assigned an IDof job1, and the second job has been assigned an IDof job2

Trang 6

The <resource> </resource> Tags

You have already learned about the advantages of defining constants within your VBScripts However, these constants are only available within the script that defines them Using the XML <resource>and </resource>tags, you can define constants within your Windows Script Files that can then be accessed by every script located within the same job Therefore, when used, these tags must be placed within the <job>and </job>tags

The syntax of the <resource>and </resource>tags is as follows:

<resource id=”resourceID”>

</resource>

Idspecifies the name of the constant whose value is then assigned when you type it between the opening and closing tags, as demonstrated in the following example:

<job>

<resource id=”cTitleBarMsg”>TestScript.wsh</resource>

<script language=”VBScript”>

Set objWshShl = WScript.CreateObject(“WScript.Shell”)

MsgBox “Greetings”, , getResource(“cTitleBarMsg”)

</script>

</job>

The <script> </script> Tags

You’ve already seen the <script>and </script> tags in action a number of times in this chapter They are used to mark the beginning and ending of individual scripts embedded within jobs in Windows Script Files The syntax for these tags is as follows:

<script language=”language” [src=”externalscript”]>

.

</script>

Trang 7

languagespecifies the scripting language used to create a script The src argument is used

to specify an optional reference to an external script If used, the external script is called and executed just as if it were embedded within the Windows Script File

Let’s look at an example of how to create a Windows Script File that includes both an embed-ded VBScript and one that is externally referenced As you can see, the following Windows Script File includes a reference to two VBScripts:

<job>

<script language=”VBScript”>

MsgBox “This message is being displayed by an embedded VBScript”

</script>

<script language=”VBScript” src=”TestScript.vbs” />

</job>

The embedded VBScript simply displays a text message stating that it has executed Similarly, the external VBScript might consist of a single statement that uses the MsgBox()function to display a similar message

MsgBox “This message is being displayed by an external VBScript”

If you create both of these scripts and then double-click on the Windows Script File, you’ll see that both scripts will execute and display their pop-up dialog in sequence

In the Real World

In the real world, time is money Saving time during script development means that you can get more done in less time One of the ways that experienced programmers save time is by creat-ing reusable code You can use Windows Script Files to save development time by externalizcreat-ing scripts that perform common tasks This way, you can set up a reference to those scripts in any number of Windows Script Files without having to reinvent the wheel In addition, you’ll save yourself a lot of maintenance work because if you ever need to modify a commonly used exter-nal script, you’ll only have to make the change to the script once This is preferable to making the same change over and over again in any scripts where you embedded copies of the script.

Trang 8

Executing Your Windows Script Files

As you know, you can run a Windows Script File by double-clicking on it When started this way, the Windows Script File runs the first job that has been defined If more than one job has been defined within the Windows Script File, you can execute any job by running the script from the Windows command prompt and specifying the job’s ID, as demonstrated next Of course, every script contained within the job that is run will be executed

Let’s look at some examples of how to run Windows Script Files from the Windows com-mand prompt To run the first script in a Windows Script File that contains two jobs, just type the name of an execution host, followed by the name of the Windows Script File cscript TestWsfScript.wsf

If the two jobs in the Windows Script Files have been assigned job IDs of job1and job2, you can selectively execute either job by specifying its ID

wscript TestWsfScript.wsf //job:job2

Back to the VBScript Game Console

The VBScript Game Console project is actually a Windows Script File designed to display a list of VBScript games that is dynamically generated based on the contents of a game folder Once started, the VBScript Game Console gives the user easy access to any VBScript games that you have stored in the game folder

The VBScript Game Console is actually made up of three different scripts, two written in JScript, and the other, written in VBScript The rest of this chapter explains how the VBScript Game Console is built

Designing the Game

The VBScript Game Console consists of three different scripts written using two different WSH-supported scripting languages, VBScript and JScript Because JScript is a full-featured scripting language in its own right, I won’t be able to go into great detail about its syntax

or structure However, I’ve tried to organize this Windows Script File in such a way as to ensure that the JScript you see is not overly complex Hopefully, given the comments that I have added to each script, you will be able to understand what’s happening in each JScript The VBScript Game Console will be created in four stages:

• Stage 1: Create a .wsffile and add the XML statements required to define the script’s structure

Trang 9

• Stage 2: Create the first JScript, which will be responsible for displaying the VBScript

Game Console’s initial splash screen and determining whether the user wants to open the console

• Stage 3: Design the Windows Script File’s VBScript, wherein the logic that controls

the operation of the game console is stored

• Stage 4: Create a second JScript, which is responsible for displaying the VBScript

Game Console’s closing splash screen

Using XML to Outline the Script’s Structure

The first stage in developing the VBScript Game Console involves two activities First, create

a new file and save it with a .wsffile extension, thus creating a new Windows Script File Second, add the XML tags required to outline the overall structure of the Windows Script File, like this:

<package>

<comment>This WSF file builds a VBScript Game Console</comment>

<job>

<resource id=”cTitlebarMsg”>VBScript Game Console</resource>

<script language=”JScript”>

</script>

<script language=”VBScript”>

</script>

<script language=”JScript”>

</script>

<script language=”JScript”>

</script>

</job>

</package>

Trang 10

The <package>and </package>tags were not required because this Windows Script File only contains one job I added them anyway, just in case I ever decide to expand the script by adding another job For example, if script configurations are ever migrated to the Windows registry, it might be helpful to define a second job to the Windows Script File specifying a setup script

The <comment>and </comment> tags were added to help document the function of the Win-dows Script File The opening <job>and closing </job>tags define the Windows Script File’s only job As only one job was defined, I did not bother to add the <job>tag’s IDattribute Finally, three separate sets of <script>and </script> tags have been created, marking the location at which each script that makes up the Windows Script File will be placed

Writing the First JScript

Because the focus of this book is on VBScript as a WSH scripting language and not on JScript, I’m not going to attempt to explain in detail the following JScript This script is rel-atively simple, and you should be able to tell what’s going on by looking at the comments embedded within the script itself

//*******************************************************************

//Script Name: N/A

//Author: Jerry Ford

//Created: 12/20/02

//Description: This JScript displays the WSF file’s initial splash

// screen

//*******************************************************************

//Initialization Section

var objWshShl = WScript.CreateObject(“WScript.Shell”);

var strWelcome;

var strInstructions;

var intResults;

var intReply;

var strTitleBarMsg;

strWelcome = “Welcome to the VBScript Game Console “;

strInstructions = “Click on OK to play a VBScript game!”;

Ngày đăng: 03/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN