Transformer un fichier bat en un projet mode console

Signaler
Messages postés
53
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
9 avril 2008
-
Messages postés
178
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
6 juillet 2009
-
bonsoir à tous,

j'ai un soucis, j'ai un projet en mode console et j'aimerai qu'il me lance un fichier.
Bon d'accord on connait tous le process.start("mon fichier"), j'ai meme vu des trucs du style process.start("cmd.exe","/C pause") mais lorsqu'on lance on a la console qui s'ouvre et qui lance une 2eme console qui, celle là, execute la ligne de commande.
En fait là je me trouve avec un .bat que j'aimerai totalement integrer à ma solution , j'ai trouvé tout ce qu'il faut afin de recuperer en live la sortie de la console vers le richtextbox de ma form, mais je ne comprends pas quoi utiliser  pour que mon projet en mode console se comporte exactement comme mon fichier batch, c'est à dire qu' il ouvre une fois la console et qu'il traite a la suite tous les del, copy, cd\ et autres commandes dos que je lui donne gentiment.

Merci du coup de mains jcommençais à desesperer,super sympa, c'est cool, vous gerez

1 réponse

Messages postés
178
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
6 juillet 2009
4
Bonjour,

Si j'ai bien compris, tu veux lancer un fichier bat sans que ton ptrog ouvre une nouvelle fenêtre ?
Voici un code qui pourrait t'aider (je l'ai trouvé sur ce site!) :

private string StartProcess(string filename)
{
    ProcessStartInfo info = new ProcessStartInfo();
    info.FileName = filename;
    info.UseShellExecute = false;
    info.RedirectStandardOutput = true;
    info.CreateNoWindow = false;

    string output = string.Empty;

    try
    {
    Process p = Process.Start(info);
    p.Start();
    output = p.StandardOutput.ReadToEnd();
    p.WaitForExit( /* 10000 */ );
    p.Close();
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.ToString());
    }
    return output;
}

Et pour lancer le fichier .bat :

StartProcess(@"C:\monfichierbat.bat");

J'espère avoir été utile...

"Une chose me laisse perplexe : Est-ce moi ou les autres qui sont fous ?" A. Einstein