VBScript Script File

vbs 脚本文件扩展名为 .vbs,双击可以运行它。

vbs script 有两个解释器:

假设有脚本 echo.vbs

WScript.StdOut.Write("Hello VBScript")

双击运行它会报错。这是因为 WScript.StdOut 只能用在 console 中。

打开 CMD,运行:

cscript.exe echo.vbs

这次没有问题了。不过多了 Windows 版权信息,去掉它:

cscript.exe /?
cscript.exe //Nologo echo.vbs

脚本参数

脚本命令行参数由 WScript.Arguments 访问。 以 // 开始的是 cscript 的选项,不包含在 WScript.Arguments 内。 以 / 开始的选项,包含在 WScript.Arguments.Named 内。

cscript.exe demo.vbs /month:April //Nologo 123

脚本编码

如果代码中有中文,例如:

WScript.Echo "hello 你好"

ANSI(简体中文系统为 GBK),Unicode(UTF-16 LE),UTF-16 BE 没有问题。UTF-8 按 ANSI处理,所以乱码。

有 BOM 时,只有 Unicode(UTF-16 LE) 没有问题,其它报错:“编译器错误: 无效字符”。UTF-16 通常有 BOM。

如果只是注释有中文,也可能导致不能正常运行,例如

Function Sum(a, b)
    Sum = a + b  ' 返回值
End Function

WScript.Echo Sum(1, 2)