nodejs如何在特定目录执行控制台指令并写入输入输出流
时间: 2023-07-15 14:11:37 浏览: 49
可以使用Node.js的child_process模块来执行控制台指令并写入输入输出流。具体实现可以参考以下代码示例:
```javascript
const { spawn } = require('child_process');
const path = require('path');
// 指定目录
const cwd = path.join(__dirname, 'your-directory');
// 执行控制台指令
const child = spawn('command', ['arg1', 'arg2'], {
cwd,
});
// 监听控制台输出,将结果写入输出流
child.stdout.on('data', (data) => {
// write to output stream
});
// 监听错误输出,将错误信息写入输出流
child.stderr.on('data', (data) => {
// write to output stream
});
// 将输入流数据写入子进程的标准输入
child.stdin.write('input\n');
```
以上代码示例中,需要替换'your-directory'为需要执行指令的目录,'command'和['arg1', 'arg2']为需要执行的指令及其参数。在监听控制台输出的回调函数中,可以将控制台输出数据写入输出流,以供后续操作使用。同理,在监听错误输出的回调函数中,也可以将错误信息写入输出流。最后,在需要往子进程的标准输入写入数据时,可以使用child.stdin.write()方法将数据写入。