Maison >développement back-end >C++ >Comment puis-je exécuter des lignes de commande en C # et capturer leur sortie?

Comment puis-je exécuter des lignes de commande en C # et capturer leur sortie?

Susan Sarandon
Susan Sarandonoriginal
2025-02-01 01:01:09343parcourir

How Can I Execute Command Lines in C# and Capture Their Output?

Intégration d'outils externes avec C #: exécuter les lignes de commande et capturer la sortie

C # offre des capacités robustes pour interagir avec des applications de ligne de commande externes. Un cas d'utilisation courant consiste à exécuter un outil de comparaison (comme Diff) et à afficher les résultats dans une application C #. Ce guide détaille le processus.

La première étape consiste à créer un objet Process, à désactiver l'exécution du shell et à activer la redirection de sortie standard:

<code class="language-csharp">Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;</code>

Ensuite, spécifiez le programme de ligne de commande ou le fichier de lots à exécuter (par exemple, YOURBATCHFILE.bat):

<code class="language-csharp">p.StartInfo.FileName = "YOURBATCHFILE.bat";</code>

Démarrez le processus de manière asynchrone; N'attendez pas l'achèvement avant de récupérer la sortie:

<code class="language-csharp">p.Start();</code>

Récupérer la sortie standard à l'aide de ReadToEnd(), puis attendez que le processus se termine:

<code class="language-csharp">string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();</code>

La chaîne output contient désormais les résultats de l'exécution de la ligne de commande, prêt à afficher ou à un traitement ultérieur au sein de votre application C #.

Cette approche, basée sur la documentation MSDN de Microsoft, fournit une méthode fiable pour exécuter des programmes de ligne de commande et récupérer leur sortie en C #.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn