jeudi 24 octobre 2019

I want to write cmd ouput to file instead of stdout

I can cmd in node.js using child-process and spawn, I want the ouput of this command to be written into file instead of stdout.

test.js

const expect = require('chai').expect;
const { spawn } = require('child_process')
let path = require('path');
let fs = require('fs');

//tried but didn't work 
1) const cmd = spawn(ansysfnonetclient, options, {
    stdio: [
      0, // Use parent's stdin for child.
      'pipe', // Pipe child's stdout to parent.
      fs.openSync('err.out', 'w') // Direct child's stderr to a file.
    ]
  });

2)  const cmd = spawn(ansysfnonetclient, options,  {shell: true, stdio: 'inherit'});


it('run the cmd and write o/p to file', function (done) {
  this.timeout(30000); 
 let options = ['-h','-o','temp.log'];

 let ansysfnonetclient = path.resolve(__dirname,'../../../../../../../../saoptest/annetclient.exe');

 const cmd = spawn(ansysfnonetclient, options,  {shell: true, stdio: 'inherit'});
 console.log(cmd);
 done();

});

Aucun commentaire:

Enregistrer un commentaire