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.
December 11, 2005
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.
About the Author
You May Also Like