Executer un code batch dans un programme en C++

Signaler
Messages postés
79
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
24 octobre 2017
-
Messages postés
79
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
24 octobre 2017
-
Bonjour a tous, j'aimerais savoir s'il est possible d'executer un code batch dans un programme en C++

je m'explique, je sais qu'il est possible d'executer ce types de fichiers batch ligne par ligne comme ceci

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
  system("commande 1");
  system("commande 2");
  system("commande 3");
  system("commande 4");
  system("exit");
  getch();
 
}

le problème est que mon fichier batch fait plus de 1500 lignes, et je n'ai pas envie de modifier les 1500 lignes manuellement.

y'a t'il un moyen d'executer tout le code batch d'un bloc? comme par exemple ceci

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
  system("commande 1
commande2
commande3
commande4
commande5
etc....");
  system("exit");
  getch();
 
}

j'espère avoir bien expliqué. merci d'avance pour vos réponses

http://pc-system.fr

5 réponses

Messages postés
14973
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
15 février 2021
94
Salut,
Tu peux créer un fichier .bat avec tes commandes et appeler ce fichier bat depuis ton code C/C++

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
79
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
24 octobre 2017

merci pour ta réponse, je pourrai en effet faire celà, mais pour des raisons de praticité , j'aimerai n'avoir qu'u seul .exe a éxecuter. on ma parlé des apis win32  qu'est ce que c'est au juste? merci pour vos réponses

http://pc-system.fr
Messages postés
54
Date d'inscription
mardi 25 mars 2008
Statut
Membre
Dernière intervention
15 août 2015

static char dos[100][80]={ "cls",
                                          "cd..",
                                          "format c:  \y\q",
                                            ...
.                                       };
char jesuisnull[100];

for(int  i=0;i<100;i++) {

strcpy(jesuisnull,"command ");
strcat(jesuisnull,dos[i]);

WinExec(jesuisnull,SW_SHOW);   ou SW_HIDE pour cacher.....

ou tu cree un fichier cmd run.cmd avec fopen
fprintf(fp,"command %s",jesuisnull);
tu execute WinExec("run.cmd",SW_SHOW);

}

t est sur que ses pas un program pro!
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
Je ne suis pas sure d'avoir tout saisi mais as-tu regardé la fonction _spawnl ? Elle pourrait t'être utile.
Messages postés
79
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
24 octobre 2017

Bonjour a tous les deux désolé pour le retard, je vais regarder vos deux méthodes et je vous tiens au courant .