J'exécute une commande de mon application C #.
Il court bien mais parfois je reçois des erreurs. p>
Mon problème est que je ne peux pas voir quelle est l'erreur ou tout autre texte dans la fenêtre de commande . p>
Il est juste vide. p>
Y a-t-il quelque chose que je peux rendre le texte apparaître Dans le temps d'exécution identique à celui qui est apparu ici? p>
Voici mon code: P>
var processInfo = new ProcessStartInfo("cmd.exe", "/c " + command); //processInfo.CreateNoWindow = true; processInfo.UseShellExecute = false; processInfo.RedirectStandardError = true; processInfo.RedirectStandardOutput = true; processInfo.WorkingDirectory = workingFolder; var process = Process.Start(processInfo); process.OutputDataReceived += (object sender, DataReceivedEventArgs e) => Console.WriteLine("output>>" + e.Data);//MessageBox.Show(e.Data); process.BeginOutputReadLine(); process.ErrorDataReceived += (object sender, DataReceivedEventArgs e) => Console.WriteLine("error>>" + e.Data);//MessageBox.Show(e.Data); process.BeginErrorReadLine(); process.WaitForExit(); Console.WriteLine("ExitCode: {0}", process.ExitCode); process.Close();
3 Réponses :
Je ne suis pas un expert sur cela, mais je pense que vous pouvez écrire ce code dans un bloc code> try-attraper CODE> Afficher le message d'exception à l'écran à l'aide de console.writeline () < / code> commande. p>
Cela devrait être un commentaire au mieux.
Dans votre première capture d'écran, il y a Sélectionnez CODE> dans la barre de titre de la fenêtre code> cmd code>.
Savez-vous du fait que le programme est en pause alors?
Le SELECT CODE> se produit si vous cliquez dans la fenêtre et peut être poursuivi en appuyant sur
Entrée code> (si je me souviens bien).
Si vous utilisez console.writeline () code> et la fenêtre
cmd code> n'est pas en pause, vous devriez voir ce que vous avez écrit. P>
Il n'y a rien de mal à votre code, le problème est que vous exécutez votre programme dans le mauvais chemin.
Suivez ces étapes pour rechercher le chemin de votre application: p>
alors, dans le la sortie: p> cmd.exe code> allez sur le chemin avec le groupe de
CD code>.
Voici le code: p>
output>>hello world
output>>
error>>
ExitCode: 0
Votre code ne lit pas le StandardOutput ou StandardError Streams
Vous n'avez pas besoin d'utiliser
cmd.exe code> pour exécuter un processus non plus. Il suffit de passer le chemin d'accès à l'exécutable et aux arguments du constructeur code> processstartinfo code>