【问题标题】:node.js and command line (cmd.exe)node.js 和命令行 (cmd.exe)
【发布时间】:2012-10-13 11:30:32
【问题描述】:

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

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

【问题讨论】:

标签: windows node.js cmd


【解决方案1】:

您可以为此使用标准模块child_process.spawn()

来自文档示例:

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_process.exec 可能比spawn 更易于使用。
猜你喜欢
  • 2021-12-20
  • 2017-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-22
  • 2023-03-24
  • 1970-01-01
  • 2013-09-22
相关资源
最近更新 更多