Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows node.js和命令行(cmd.exe)_Windows_Node.js_Cmd - Fatal编程技术网

Windows node.js和命令行(cmd.exe)

Windows node.js和命令行(cmd.exe),windows,node.js,cmd,Windows,Node.js,Cmd,我正在寻找从node.js应用程序调用Windows命令行的解决方案或NPM 我想要的是调用一些批处理文件并在带有node.js的机器上运行它们,当然还有参数并读取它们的输出。您可以使用标准模块来实现这一点 在文档示例中: var spawn = require('child_process').spawn, ls = spawn('ls', ['-lh', '/usr']); ls.stdout.on('data', function (data) { console.lo

我正在寻找从node.js应用程序调用Windows命令行的解决方案或NPM


我想要的是调用一些批处理文件并在带有node.js的机器上运行它们,当然还有参数并读取它们的输出。

您可以使用标准模块来实现这一点

在文档示例中:

var spawn = require('child_process').spawn,
    ls    = spawn('ls', ['-lh', '/usr']);

ls.stdout.on('data', function (data) {
  console.log('stdout: ' + data);
});

ls.stderr.on('data', function (data) {
  console.log('stderr: ' + data);
});

ls.on('exit', function (code) {
  console.log('child process exited with code ' + code);
});

'ls'
替换为
'c:/windows/system32/cmd.exe'
,并将
['-lh','/usr']
替换为
['/c',batfile.bat']
以运行批处理文件
batfile.bat

您正在寻找什么?库的可移植性非常强,可以满足您的需要。为了可移植性,最好将
'ls'
替换为
process.env.comspec
。另外,
child\u process.exec
可能比
spawn
更易于使用,前提是在批处理文件完成之前不需要处理其输出。