用节点运行.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