用节点运行.vbs脚本

我想了解如何从节点应用程序运行.vbs文件。

该脚本是自己的事情,我的节点应用程序不需要任何信息,除非脚本完成运行。

当我find一种方法来做到这一点,我会看看传递给脚本的参数,但现在我只需要知道如何运行脚本。

谢谢

使用child_process.spawnSync(command[, args][, options]) 。 见a , b 。 演示:

鉴于:

 |.. +---vbs | slave.vbs | \---nodejs master.js 

slave.vbs:

 Option Explicit Dim a : a = "no arg" If 0 < WScript.Arguments.Count Then a = WScript.Arguments(0) Dim o : o = Array("", WScript.ScriptName, a, Time()) o(0) = "MsgBox" MsgBox Join(o, "|") o(0) = "StdOut" WScript.Stdout.WriteLine Join(o, "|") o(0) = "StdErr" WScript.Stderr.WriteLine Join(o, "|") WScript.Quit 3 

master.js:

 'use strict'; const spawn = require( 'child_process' ).spawnSync, vbs = spawn( 'cscript.exe', [ '../vbs/slave.vbs', 'one' ] ); console.log( `stderr: ${vbs.stderr.toString()}` ); console.log( `stdout: ${vbs.stdout.toString()}` ); console.log( `status: ${vbs.status}` ); 

输出:

 node master.js (MessageBox) stderr: StdErr|slave.vbs|one|14:09:39 stdout: StdOut|slave.vbs|one|14:09:39 status: 3