在 Windows 下,有时候会需要编写一些 JScript 脚本来执行一些自动化任务。然而在 Windows Script Host 中执行的脚本与在浏览器中执行的 JScript 不同,无法使用 console.log() 等方法来输出信息。不过我们还是可以借助 jsc.exe 提供的 print() 函数来达到同样的目标。

首先,我们可以看到,如果尝试在 JScript 脚本中尝试使用 console.log() 等方法,将会报以下错;

Microsoft JScript runtime error: 'console' is undefined

因此,我们得借助于 JScript 编译器 jsc.exe 提供的 print() 函数来输出信息。

print 语句 接受一个 String 参数,并将其输出至控制台/命令行。如果传入的参数不是 String 类型,则会被转换为 String;如果传入了多个参数,那么这些参数将会被拼接为一个字符串。

使用了 print 语句的 JScript 脚本需要经由 jsc.exe 编译为 .exe 格式的程序后方能执行。如直接执行未编译的 .js 脚本,会报以下错,并停止脚本的继续执行。

Microsoft JScript runtime error: Object expected

执行以下命令以编译 JScript:

jsc 文件名.js

如果 jsc 不在 PATH 环境变量中,通常可以在以下目录中找到:

C:\Windows\Microsoft.NET\Framework\v1.1.4322
C:\Windows\Microsoft.NET\Framework\v2.0.50727
C:\Windows\Microsoft.NET\Framework\v4.0.30319
C:\Windows\Microsoft.NET\Framework64\v2.0.50727
C:\Windows\Microsoft.NET\Framework64\v4.0.30319

示例

代码:

var text = 'Hello';
print(text);
print('world');

编译并执行:

jsc test.js & test.exe