Executer un code batch dans un programme en C++

cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017 - 3 sept. 2008 à 17:20
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017 - 6 sept. 2008 à 11:29
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

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
3 sept. 2008 à 17:50
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...
0
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
3 sept. 2008 à 20:46
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
0
nanonavich Messages postés 54 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 15 août 2015
4 sept. 2008 à 01:48
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!
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
4 sept. 2008 à 09:41
Je ne suis pas sure d'avoir tout saisi mais as-tu regardé la fonction _spawnl ? Elle pourrait t'être utile.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
6 sept. 2008 à 11:29
Bonjour a tous les deux désolé pour le retard, je vais regarder vos deux méthodes et je vous tiens au courant .
0
Rejoignez-nous