WSH 主要有五种可以运行的文件类型:
VBS - VBScript 脚本文件
JS - JScript 脚本文件
WSF - Windows 脚本文件
VBE - VBScript 已编码的脚本文件
JSE - JScript 已编码的脚本文件
其他相关文件类型:
WSH - Windows Script Host 设置文件
WSC - Windows 脚本部件

VBE/JSE 编码文件可以用微软的 ScrEnc.exe 来生成,对高手来说这只是浪费效率的做法,对不那么高的人民群众来说,这可以当做加密,保护自己的代码。不过网络可以找到解码程序,所以对低手来说解码也很简单。总之一句话:脚本加密都不可靠,因为都是可逆的!
WSF 文件是一种 XML 格式的文件,它可以同时使用 VBScript 和 JScript 两种语言,所以应该算是 WSH 文件类型中功能最强的一个。下面是一个例子,保存为 VBS_JS.WSF:
<job>
<script language = "JScript">
var szBuf = "1 << 4 = " + (1 << 4);
</script>
<script language = "VBScript">
MsgBox szBuf, 64, "[UMU WSH 教程](4)WSH 相关文件"
</script>
</job>
因为 VBScript 没有位运算符,所以用 JScript 来做位运算,但 JScript 又没有 MsgBox 函数,所以又用 VBScript 来显示,这个例子同时运用了两种语言。
我们知道 MsgBox 出现的时候脚本会停在 MsgBox 处,直到 MsgBox 被关闭,才继续向下解释。有时候我们需要在脚本运行一段时间后停止,这时候可以在脚本程序里计时,但如果因为有 MsgBox 弹出,那么它下面的代码无法被执行,所以也就无法计时。再或者,一个脚本有危险性,我们希望它在破坏系统的时候,可以有一个时间限制。这时候可以选择这个脚本文件的“属性-脚本”页,指定一个超时时间。

当我们按“确定”关闭属性页后,发现 VBS_JS.WSF 同目录下生成了一个 VBS_JS.WSH,用记事本打开它可以看到:
[ScriptFile]
Path=VBS_JS.WSF
[Options]
Timeout=1
DisplayLogo=1
这个 VBS_JS.WSH 就是 VBS_JS.WSF 的配制文件,在“属性-脚本”页里设置的是写到 VBS_JS.WSH 里了。
WSC 文件,UMU 给出一个例子,请点击下面的缩略图,这个东西很神奇,具体大家可以百度一下。