IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Exécution de xcopy dans une winform avec redirection


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 15
    Points
    15
    Par défaut Exécution de xcopy dans une winform avec redirection
    Bonjour,

    Je suis actuellement en train de développer un petit programme permettant d'exécuter la commande xcopy, sans afficher la fenêtre de la console et en redirigeant le contenu de la console vers une textbox.

    Mon souci est au niveau de la redirection du contenu de la console vers la textbox.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    private void btn_Backup_Click(object sender, EventArgs e)
            {
                System.Diagnostics.Process ProcCMD = new System.Diagnostics.Process();
     
                ProcCMD.StartInfo.UseShellExecute = false;
                ProcCMD.StartInfo.CreateNoWindow = true;
                ProcCMD.StartInfo.FileName = "cmd.exe";
                ProcCMD.StartInfo.RedirectStandardOutput = true;
     
                ProcCMD.StartInfo.Arguments = "/K xcopy \"C:\\Copie Source\\*.*\" \"C:\\Documents and Settings\\Administrateur\\Bureau\\Copie Test\\\" /E/H/G/K/Y/D/O/X";
     
                ProcCMD.Start();
     
                while (!ProcCMD.StandardOutput.EndOfStream)
                {
                    string sLigne = ProcCMD.StandardOutput.ReadLine();
                    tbox_Console.Text += sLigne + Environment.NewLine;
                    rtbox_Console.Text += sLigne + Environment.NewLine;
     
                    // Positionne la scrollbar de tbox_Console en bas
                    tbox_Console.SelectionStart = tbox_Console.Text.Length;
                    tbox_Console.SelectionLength = 0;
                    tbox_Console.ScrollToCaret();
                }
     
                ProcCMD.Close();
            }
    J'ai tester en mettant en paramètre la commande ipconfig/all et systeminfo, avec ces commande je n'est aucun souci, la redirection du contenu de la console se fait bien vers la textbox.
    Cependant avec la commande xcopy, si la redirection est active, la seule et unique chose qui est faite est d'afficher l'invite de commande, la copy n'est pas réaliser non plus. Mais, quand la redirection est désactiver, la copie se fait mais bien entendu j'ai pas le contenu dans la textbox.

    Je continue de chercher une solution a ce problème dans l'attente de réponse de la communauté.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 15
    Points
    15
    Par défaut
    A nouveau bonjour,

    Je me permet de faire un double post, afin d'apporter la solution que j'ai enfin trouver, voici donc le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    tbox_Console.Clear();
     
                System.Diagnostics.Process ProcCMD = new System.Diagnostics.Process();
     
                ProcCMD.StartInfo.UseShellExecute = false;
                ProcCMD.StartInfo.CreateNoWindow = true;
                ProcCMD.StartInfo.FileName = "xcopy";
                ProcCMD.StartInfo.RedirectStandardOutput = true;
                ProcCMD.StartInfo.RedirectStandardInput = true;
                ProcCMD.StartInfo.Arguments = "\"C:\\i386\\*.*\" \"C:\\Documents and Settings\\Administrateur\\Bureau\\Copie Test\\\" /E/H/G/K/Y/D/O/X";
     
                ProcCMD.Start();
     
                while (!ProcCMD.StandardOutput.EndOfStream)
                {
                    //string sLigne = ProcCMD.StandardOutput.ReadLine();
                    rtbox_Console.Text += ProcCMD.StandardOutput.ReadLine() +Environment.NewLine;
     
                    // Positionne la scrollbar de rtbox_Console en bas
                    rtbox_Console.SelectionStart = rtbox_Console.Text.Length;
                    rtbox_Console.SelectionLength = 0;
                    rtbox_Console.ScrollToCaret();
                }
     
                ProcCMD.Close();
    Merci à tous ceux qui avait pu lire ma demande

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/07/2013, 11h03
  2. Utiliser les cookies dans une XHR avec redirection
    Par beekeep dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 14/04/2011, 21h39
  3. Exécuter un logiciel dans une WinForm
    Par molo2003 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/10/2008, 15h58
  4. réalisation de courbes dans une winform avec vb.net
    Par terminal001 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 29/03/2008, 01h05
  5. Réponses: 2
    Dernier message: 21/08/2006, 21h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo