none
Create/Run a batch file to execute a series of programs RRS feed

  • Question

  • Hello,
    In my program I have to construct a series of experiments ,  to do an experiment I have to invoke another program and passe to it its arguments. So I want to run this series of experiments through the creation/Runing of a batch file.
    So I am gratefule if some one told me the steps to:
    1-Create/open  a batch file in my programe.
    2-Write the series of command lines in the batch file from my current program(to invoke the other programe and passe to it its arguments)  .
    3-The statement to Run the batch file

    Thank you in advance,
    Best Regards
    jeudi 28 janvier 2010 11:47

Réponses

  • Hello,
    To create a batch file you just have to open a new file using a stream like opening any other txt file in C/C++, the file extension has to be a .bat
    The program command lines executing is like if you write it in the Dos command line prompt ! so you just have to add these lines to your stream.
    And when finished and closed your stream, your .bat file will be created in the location you specified ! A .bat acts like a .exe program, so you can run it by creating a process or directly call ShellExecute function !
    hope I have heleped you.
    Hassane

    • Marqué comme réponse Alex Petrescu vendredi 29 janvier 2010 15:21
    vendredi 29 janvier 2010 12:22

Toutes les réponses

  • Hello,
    To create a batch file you just have to open a new file using a stream like opening any other txt file in C/C++, the file extension has to be a .bat
    The program command lines executing is like if you write it in the Dos command line prompt ! so you just have to add these lines to your stream.
    And when finished and closed your stream, your .bat file will be created in the location you specified ! A .bat acts like a .exe program, so you can run it by creating a process or directly call ShellExecute function !
    hope I have heleped you.
    Hassane

    • Marqué comme réponse Alex Petrescu vendredi 29 janvier 2010 15:21
    vendredi 29 janvier 2010 12:22
  • Bonjour à tous !

     

    Subzero, merci pour votre contribution. O_M, parce qu’on est dans un forum de langue française, je vous prie de poster vos questions en français, pour l’avenir. Peut-être on a des visiteurs qui ne maitrisent pas l’anglais et qui seront intéressés par les problèmes et les solutions.

     

    Merci beaucoup,

    Alex


    Alex Petrescu - MSFT
    vendredi 29 janvier 2010 15:20
  • Merci Alex de me l'avoir précisé, mais si vous regardez depuis le début de la conversation vous remarquerez que c'est pas moi ai l'ai ouverte, et donc pas moi qui ai posé la question en anglais, j'ai répondu en anglais parceque je me suis dit que peut etre le gars qui l'avait posée ne parle pas francais.
    Désolé quand même
    Hassane
    vendredi 29 janvier 2010 18:08
  • oups désolé, je pense que votre remarque était pour O_M pas à moi
    autant pour moi.
    Hassane
    vendredi 29 janvier 2010 18:11
  • Bonjour Alex ,

    Merci de me notifier c'est un forum en langue francais , mais je voudrait vous dire que je ne parle pas le francais tres bien  ,mais je  comprends les reponses  ,alors est ce que je peut  poster mon message dans lequel deux paragraphs une en francais et  l'autre en anglais pour rassurer que j'ai bien exprimer le problem?


    Merci de votre comprehension,
    Cordialement

    Olivia
    dimanche 31 janvier 2010 06:28
  • Bonjour Olivia,

    De ma part, votre solution est un bon compromis, donc vous pouvez l’essayer J

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    lundi 1 février 2010 12:53
  • This message in English and French


    English
    Hello Hassane,
    First thank you very much for your care, I have created the batch file and run it  something like the following and it is ok

    //create batch file
    ofstream batchFile
    batchfile.open("Exp.bat")
    //Run batch file
    system("Exp.bat");
     

    Now to write the command on the batch file to invoke the other program and passe to it the arguments  I guess it is something like this :

    batchFile<<" program.exe  arg1 arg2 arg3 arg4 "<<endl

    But my problem Hassane that I cannot generate the .exe file  because I can't compile the program in the prompt of visual c++ 2008 express edition as you have read from my posted messages(compilation/execution...)
     
    would you help me how to compile and execute the programe from the prompt   to generate the exe.file

    Best regards,
    Olivia

    French

    Bonjour Hassane,
    D'abord je vous remercie pour votre aide, j'ai créé le fichier "batch" et l'exécute quelque chose comme ce qui suit et il est ok

    / / créer un fichier batch
    ofstream batchFile
    batchfile.open ( "Exp.bat")
    / / Exécuter fichier batch
    system ( "Exp.bat");
     

    Maintenant, pour écrire la commande sur le fichier" batch" pour invoquer l'autre programme et Passe pour lui les arguments , je suppose que c'est quelque chose comme ceci:

    batchfile << "program.exe arg1 arg2 arg3 arg4" <<endl

    Hassane, mais mon problème que je ne peut pas générer le fichier  .exe  parce que je ne peux pas compiler le programme dans l'invite de Visual C++ 2008 Express Edition come vous avez lu mes messages affichés (compilation / execution ...)
     
    Souhaitez-vous m'aider comment compiler et exécuter le programe à partir de l'invite pour générer le .exe file

    Cordialement,
    Olivia
    lundi 1 février 2010 16:16