Forcing VBScript Files to Run in CScript Mode

If you use the CScript script host often, you’ll want to check out the checkengine subroutine. This subroutine determines the script host currently being used and automatically changes it to CScript if necessary.

ITPro Today

December 11, 2005

1 Min Read
ITPro Today logo in a gray background | ITPro Today


WScript is Window Script Host's (WSH's) default script host. In the Snippets to Go article "Function Determines the Script Host on the Fly" (December 2005, InstantDoc ID 48200), Bill Stewart provides the ScriptHost function, which enables a WSH script to determine the script host (i.e., WScript or CScript) that's running it.

I wrote a similar subroutine named checkengine, which Listing 1 shows. However, the checkengine subroutine not only determines the script host currently being used but also automatically changes it to CScript if necessary. As callout A in Listing 1 shows, the subroutine uses an If...Then... Else statement to change to cscript.exe if wscript.exe is currently the script host.

Listing 2 demonstrates how to use the checkengine subroutine in a script. To test this script, open a command-shell window and run the command

WScript SampleScript.vbs 

Alternatively, you can run the command

WScript //h:wscript 

then launch the script by typing

SampleScript.vbs 

When you run this script, you'll receive two messages in the command-shell window to confirm that CScript is the current script host.

Share Your Scripting Experiences
Share your scripting discoveries, comments, problems, and solutions. Email your contributions (500 words or less) to r2rwinscriptsol@windows itpro.com. Please include your full name and phone number. We edit submissions for style, grammar, and length. If we print your submission, you’ll get $100.

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