Transformer un fichier bat en un projet mode console

adnotlegland Messages postés 53 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 9 avril 2008 - 6 mars 2008 à 17:34
Neo020585 Messages postés 178 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 6 juillet 2009 - 7 mars 2008 à 11:58
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

Neo020585 Messages postés 178 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 6 juillet 2009 4
7 mars 2008 à 11:58
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
0
Rejoignez-nous