Wscript 和 Cscript 运行脚本的区别详解

(编辑:jimmy 日期: 2025/2/25 浏览:2)

WSCRIPT与CScript区别

窗口中运行,WSCRIPT;命令行中运行,CScrip;
    cscript因为把输出放进了控制台 所以可以对它重定向 方便程序调用
    wscript直接用窗口输出 适合调试程序和编写小工具 在windows下不用cmd的话cscript的输出会一闪而过 大多数情况下,列在下表中的选项适用于 WScript.exe 和 CScript.exe。例外情况会加以注释。

参数                      说明
//B                       批处理模式;隐藏用户提示和脚本错误在命令行中的显示。默认模式是交互模式。
//D                       打开调试程序。
//E:engine                用指定的脚本引擎执行脚本。
//H:CScript或 //H:Wscript 将 CScript.exe 或 WScript.exe 注册为运行脚本的默认应用程序。如果未指定,则将 WScript.exe 假设为默认应用程序。
//I                       默认。交互模式;允许显示用户提示和脚本错误。与批处理模式相反。
//Job:<JobID>             从 .wsf 文件运行指定的 JobID。
//logo                    默认。显示标题。与 nologo 相反。
//nologo                  防止在运行时显示执行标题。默认设置是 logo。
//S                       保存该用户的当前命令行选项。
//T:nn                    启用超时:脚本可以运行的最大秒数。默认设置是无限制。//T 参数通过设置定时器来防止脚本执行过度。当执行时间超过指定值时,CScript 用 IActiveScript::InterruptThread 方法中断脚本引擎,并终止过程。
//U                       用于 Windows NT 和 Windows 2000,强制命令行以 Unicode 格式输出。CScript 无法决定以 Unicode 还是以 ANSI 输出;默认设置为 ANSI。
//X                       在调试程序中启动该程序。
//?    

微软的解释:

Script Hosts
The script host initiates and coordinates the running of your script; it reads your script file and interacts with components of the WSH environment and any COM objects required by the script. It is also the responsibility of the script host to determine which language engine to use when running the script. For example, if the script has a .vbs extension, the script host will load the VBScript language engine and begin working with that engine to execute the code.

The WSH environment includes two script hosts: the console-based CScript and the GUI-based WScript. The two script hosts provide nearly identical capabilities, and in most cases, it does not matter which of the script hosts you use to run your scripts.

The two exceptions lie in how you interact with a script; that is, how you get information into a script (input) and how the script displays information it has retrieved (output). In general, CScript receives input from the command prompt and displays output in a command window. WScript, by contrast, receives input through a graphical dialog box and displays output in a graphical message box.

Otherwise, the two script hosts are largely identical: If you have a script that does not require user interaction, you can run that script under either CScript or WScript. For example, the following script maps a network drive. Because it neither requires input nor displays output, it runs exactly the same under either script host:

Set objNetwork = Wscript.CreateObject("WScript.Network")objNetwork.MapNetworkDrive "g:", "\\atl-fs-01\Sales"
On the other hand, the following script which displays a series of messages runs much differently under CScript (where the messages are displayed as individual lines within a command window) and WScript (where the messages are displayed as a series of message boxes). If you are interested in seeing the difference for yourself, copy the script into Notepad, save it with a .vbs file extension, and then run it under both CScript and WScript. (For more information about running scripts under a script host, see "Running WSH Scripts" later in this chapter.)

复制代码 代码如下:
Wscript.Echo "Line 1."
Wscript.Echo "Line 2."
Wscript.Echo "Line 3."
Wscript.Echo "Line 4."

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?