WScript.exe 和 CScript.exe 都是Windows Script Host(WSH Windows脚本宿主)他们有什么区别呢,据我所知,最大的区别是前者是窗口模式运行后者是命令行模式运行的(字符方式). 比如,你在脚本中用上wscript.stdout.write "test..." 语句用WScript来运行,就会报句柄无效的错误,而用CScript来运行,就正常输出了
Windows Script Host enables you to run scripts from Windows. WScript.exe provides a Windows-based dialog box for setting script properties. Using WScript.exe, you can run scripts under Windows in the following ways. Whether you use WScript or CScript, you still run the scripts in the same manner. The difference is only in the output — WScript generates windowed output, while CScript sends its output to the command window in which it was started.
wscript
参数
//B 指定批处理模式,它不显示警报、脚本错误或输入提示。
//D 启动调试程序(Avtive Debugging) 。
//E: Engine 指定用于运行脚本的引擎。
//H:cscript 将 Cscript.exe 注册为运行脚本的默认脚本宿主。
//H:wscript 将 Wscript.exe 注册为运行脚本的默认脚本宿主。这是默认设置。
//I 指定交互模式,它显示警报、脚本错误和输入提示。这是默认值,相反值是 //B。
//Job: Identifier 运行 .wsf 脚本文件中以 Identifier 标识的作业。
//Logo 指定 Windows 脚本宿主横幅在脚本运行之前显示在控制台中。这是默认值,相反值是 //Nologo。
//Nologo 指定 Windows 脚本宿主横幅在脚本运行之前不显示。
//S 保存当前用户的当前命令提示符选项。
//T: Number 指定脚本可以运行的最大时间(以秒计)。您可以指定最大为 32,767 秒。默认为无时间限制。
//X 启动调试程序中的脚本。
*注: 需要启用文件扩展
没有指定脚本就不能指定脚本参数
Windows 脚本文件通常带有如下文件扩展名:.wsf、.vbs、.js.
cscript
参数基本与wscript相同,只是多了下面1个参数:
//U
指定 Unicode 作为从控制台重定向的输入和输出的编码格式。
一个脚本文件,如后缀为 .vbs 在 Windows 下双击并执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序,就是 Windows Scripting Host,程序执行文件名为 Wscript.exe 默认(若是在命令行下,则为 Cscript.exe)。