Foros del Web » Programando para Internet » Node.js »

ejecutar script externo

Estas en el tema de ejecutar script externo en el foro de Node.js en Foros del Web. ¿Cómo puedo hacer para ejecutar un script externo desde un programa hecho con node? Quiero ejecutar un .bat de windows o un shell de linux ...
  #1 (permalink)  
Antiguo 13/08/2014, 04:24
 
Fecha de Ingreso: octubre-2013
Ubicación: Pego Alicante
Mensajes: 25
Antigüedad: 11 años, 1 mes
Puntos: 0
ejecutar script externo

¿Cómo puedo hacer para ejecutar un script externo desde un programa hecho con node? Quiero ejecutar un .bat de windows o un shell de linux desde el servidor hecho con node si se cumplen ciertas condiciones... ¿se puede?
Algo como:
Código Javascript:
Ver original
  1. var m = require('modulo_ejecuta_scripts');
  2. m.exec('ruta/del/script/script.bat');

GRACIAS
  #2 (permalink)  
Antiguo 13/08/2014, 05:09
 
Fecha de Ingreso: octubre-2013
Ubicación: Pego Alicante
Mensajes: 25
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: ejecutar script externo

Vale... no había hecho la búsqueda correcta en google. Finalmente al poner "exec bat with node" y en [URL="http://stackoverflow.com/questions/21557461/execute-a-batch-file-from-nodejs"]este hilo[/URL] encontré la siguiente solución:

Código Javascript:
Ver original
  1. var spawn = require('child_process').spawn,
  2. ls    = spawn('cmd.exe', ['/c', 'nombre_del_script.bat']);
  3.  
  4. ls.stdout.on('data', function (data) {
  5. console.log('stdout: ' + data);
  6. });
  7.  
  8. ls.stderr.on('data', function (data) {
  9. console.log('stderr: ' + data);
  10. });
  11.  
  12. ls.on('exit', function (code) {
  13. console.log('child process exited with code ' + code);
  14. });


Donde "nombre_del_script.bat" puede cambiarse por el nombre y extensión necesaria.

Última edición por eloyucu; 13/08/2014 a las 05:38 Razón: puntualización

Etiquetas: externo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:16.