Difference between cscript and wscript

uday kiran reddyBusiness Analyst
Published:
Updated:
Windows Script Host (WSH) has been part of Windows since Windows NT4. Windows Script Host provides architecture for building dynamic scripts that consist of a core object model, scripting hosts, and scripting engines.

The key components of Windows Script Host are CSCript, WScript, WSH ActiveX Control and Scripting engines.

WSH ActiveX Control:
An ActiveX control that provides the core object model for the scripting host. Scripting Engines

Scripting engines
Scripting engines provide the core functions, objects, and methods for a particular scripting language. VBScript and JScript scripting  engines are installed by default on Windows.

CSCript and WScript are executables for the scripting host that are used to run the scripts. CSCript and WScript are both interpreters to run VBScript (and other scripting languages like JScript) on the Windows platform.

CSScript is for console applications and WScript is for Windows applications. The Kernel checks a flag in the executable to determine which 

When starting using CreateProcess, if it is a console application, the kernel will create a console window for it if the parent process doesn't have one, and attach the STDIN and STDOUT and STDERR to the console. If it is a Windows application, no console will be created and STDIN, STDOUT and STDERR will be closed by default.

If you want your script to have a console window, use CSCRIPT.EXE. If you want it to NOT have a console window, use WSCRIPT.EXE.

This also affects some behaviors, such as the WScript.Echo command. In a CSCRIPT.EXE this writes a line to the console window. In WSCRIPT.EXE it shows a messagebox.

When using CScript.exe:1.jpg
When we execute the above VBScript with CScript.exe, it displays hi (called through WScript.echo) in command prompt.

When using WScript.exe:
2.jpg

When we execute the above VBScript with WScript.exe, it displays hi (called through WScript.echo) in MessageBox. MsgBox will display a message box in both cases.

The WScript word in WScript.echo is not related to WScript.exe.
WScript.exe -> a command line executable for WSH.
WSCript        -> an object in Core Object Model provided in WSH.
Usage of CSCript.exe:
The command line options for CSCript.exe are in this screenshot.
3.jpg[ ] refers to optional data, i.e., not mandatory. 

Usage of WSCript.exe:
The command line options for WSCript.exe in this screenshot.
41.jpg
Again, [ ] refers to optional data, i.e., not mandatory. 
 
0
16,168 Views

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.