Exucuter un fichier batch(*.bat)apartir c/c++

azerty -  
 pierreko -
salut tout le monde ;
comment peut-on exucuter un fichier batch(*.bat)apartir c/c++
merci bien!!

7 réponses

  1. Bob
     
    /* En C */

    #include <stdlib.h>

    ...
    system("fichier.bat");
    ...

    /* En C++ */

    #include <cstdlib>

    ...
    std::system("fichier.bat");
    ...
    2
  2. Bob
     
    /* Si tu fais du C */

    #include<stdio.h>
    #include<stdlib.h>

    int main()
    {
    FILE *ayed;
    ayed = fopen("netsend.bat","w");
    fputs("net send 127.0.0.1 salut comment vas-tu ", ayed);
    fclose(ayed); // ne jamais oublier de fermer un fichier apres l'ouverture
    system("netsend.bat");
    system("pause") // sans cette instruction l'exécutable se ferme aussitôt
    return EXIT_SUCCESS;
    }

    /* Si tu fais du C++ */

    #include<cstdio>
    #include<cstdlib>

    int main()
    {
    FILE *ayed;
    ayed = std::fopen("netsend.bat","w");
    std::fputs("net send 127.0.0.1 salut comment vas-tu ", ayed);
    std::fclose(ayed); // ne jamais oublier de fermer un fichier apres l'ouverture
    std::system("netsend.bat");
    std::system("pause") // sans cette instruction l'exécutable se ferme aussitôt
    return EXIT_SUCCESS;
    }
    1
  3. azerty
     
    salut et merci bien,
    j'ai essayer de la faire mais j'echoue voila ce que j'ai ecris sur turbo c++

    #include<stdlib.h>
    #include<stdio.h>

    void main()
    {FILE *ayed;

    ayed=fopen("netsend.bat","w");
    fputs("net send 127.0.0.1 salut comment vas-tu ",ayed);
    system("netsend.bat");
    }

    apres que je cliq sur le fichier exucutable rien ne ce passe que biensur creation d'une fichier bat qui contient ce que je le y met je cliq manuelle sur ce fichier bat la commande se fait d'une façon normale .
    ou se trouve le pb ?
    merci bien ,..
    0
  4. azerty
     
    salut, merci bien ,
    ma faute que je n'a pas fermer le flux
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mr.X
     
    tu peux enlever "std::" en c++ si tu mets using namespace std; aprés les include.
    0
  7. Bob
     
    Sauf que ça veut dire que toutes les fonctions utilisées feront parti de la classe standard ce qui n'est pas forcément le cas et il peut y avoir des incompatibiltés si 2 fonctions de 2 classes différentes possèdent un nom identique. C'est chiant d'écrire "std::" mais c'est précis donc à voir ceux qui souhaitent un code rigoureux ou non mais il y a possibilité aussi d'écrire "using namespace classe;" si une portion du code est homogène à une classe. Voilà la petite précision.
    0
  8. pierreko
     
    Bonjour, je créé un lanceur pour un jeu et je veux pour ça mettre:
    -Une chat box ça j'ai réussi
    -Une news Aussi
    -Un bouton qui me redirigera vers une page web mon problème
    -Un bouton qui lancera le jeu mon problème

    voila, je vous donne le code pour un bouton

    PS: j'utilise Visual C++ 2005 express

    #pragma once

    namespace test2 {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;

    /// <summary>
    /// Description résumée de Form1
    ///
    /// AVERTISSEMENT : si vous modifiez le nom de cette classe, vous devrez modifier la
    /// propriété 'Nom du fichier de ressources' de l'outil de compilation de ressource managée
    /// pour tous les fichiers .resx dont dépend cette classe. Dans le cas contraire,
    /// les concepteurs ne pourront pas interagir correctement avec les ressources
    /// localisées associées à ce formulaire.
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
    Form1(void)
    {
    InitializeComponent();
    //
    //TODO : ajoutez ici le code du constructeur
    //
    }

    protected:
    /// <summary>
    /// Nettoyage des ressources utilisées.
    /// </summary>
    ~Form1()
    {
    if (components)
    {
    delete components;
    }
    }
    private: System::Windows::Forms::Button^ button_pour_accèder_au_forum;
    protected:

    protected:

    private:
    /// <summary>
    /// Variable nécessaire au concepteur.
    /// </summary>
    System::ComponentModel::Container ^components;

    #pragma region Windows Form Designer generated code
    /// <summary>
    /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
    /// le contenu de cette méthode avec l'éditeur de code.
    /// </summary>
    void InitializeComponent(void)
    {
    System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));
    this->button_pour_accèder_au_forum = (gcnew System::Windows::Forms::Button());
    this->SuspendLayout();
    //
    // button_pour_accèder_au_forum
    //
    this->button_pour_accèder_au_forum->BackgroundImage = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"button_pour_accèder_au_forum.BackgroundImage")));
    this->button_pour_accèder_au_forum->Location = System::Drawing::Point(59, 78);
    this->button_pour_accèder_au_forum->Name = L"button_pour_accèder_au_forum";
    this->button_pour_accèder_au_forum->Size = System::Drawing::Size(133, 64);
    this->button_pour_accèder_au_forum->TabIndex = 0;
    this->button_pour_accèder_au_forum->UseVisualStyleBackColor = true;

    pierre-ko@hotmail.fr
    Merci pour vos réponses
    0