Bonjour,

Je découvre node.js qui m'a été recommandé mais je ne parviens pas à faire ce que je veux.
je voudrais depuis mon process principal, créer un sous-process dans lequel enchainer des commandes.
une option qui marche est la suivante
Code :Sélectionner tout -Visualiser dans une fenêtre à part
1
2
3
4
5
6
const { spawn } = require('child_process');
const bat = spawn('cmd.exe', ['/c', 'toto1.bat & toto2.bat']);
 
bat.stdout.on('data', (data) => {
  console.log(data.toString());
});

Mais j'ai plein de commandes à enchainer dans mon sous-process et je trouve que je perds beaucoup en lisibilité. De plus, je voudrais pouvoir tester l'output de toto1.bat avant de lancer toto2.bat, pour éventuellement lancer à la place toto3.bat

Du coup, je voudrais initialiser un sous-process avec toto1.bat, tester le retour puis choisir de lancer toto2.bat ou toto3.bat, dans le contexte de l'exécution de toto1.bat (car toto1.bat a initialisé un contexte nécessaire à l'exécution de toto2 ou toto3)
Code :Sélectionner tout -Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
const { spawn } = require('child_process');
const bat = spawn('cmd.exe', ['/c', 'toto1.bat']);
if (bat.stdout == "cas1")
{
bat.exec ("toto2.bat");
}
else
{
bat.exec("toto3.bat");
}

évidemment, cela ne marche pas. Est-ce possible et si oui, pouvez-vous m'expliquer comment faire ?

Merci par avance pour votre aide et bonne soirée