El otro día en node intenté utilizar spawn por la utilidad de poder brindar feedback en tiempo real sobre la ejecución del proceso. Estando en Windows, me encontré con que falla al intentar utilizarla sin más. Un verdadero problema.

La solución

Instalar cross-spawn-async.

npm install --save-dev cross-spawn-async

Luego en el archivo se utiliza como el método ya conocido, ya que éste es un drop in replacement:

var spawn = require('cross-spawn-async')

spawn(command[, args][, options])

Workaround

Si por alguna razón lo anterior no te resulta convincente, un workaround podría ser lo siguiente.

require('child_process').spawn('cmd', ['/s', '/c', '"C:\\util\\mycmd.bat"'], {
  windowsVerbatimArguments: true
});

De todos modos, y como puede verse, esto no es ni de cerca código multiplataforma.




¡Gracias por tu tiempo!

Soy nahuelhds. Si te gusta lo que hago, podés...