Maison > développement back-end > C++ > Comment puis-je exécuter un programme de ligne de commande et capturer sa sortie en C #?

Comment puis-je exécuter un programme de ligne de commande et capturer sa sortie en C #?

Barbara Streisand
Libérer: 2025-02-01 01:11:09
original
687 Les gens l'ont consulté

How Can I Execute a Command-Line Program and Capture its Output in C#?

exécuter des programmes de ligne de commande et capturer la sortie en C #

Ce guide montre comment exécuter des applications de ligne de commande à partir d'un programme C # et de récupérer leur sortie standard. Ceci est utile pour intégrer des outils externes ou effectuer des tâches système directement à partir de votre application. Un exemple courant consiste à exécuter une commande 'Diff' sur deux fichiers et à utiliser les résultats.

La classe System.Diagnostics.Process fournit les fonctionnalités nécessaires. Voici une approche étape par étape:

  1. Créer une instance de processus: Instancier un objet Process pour représenter le programme de ligne de commande.

  2. Configurer les paramètres de processus:

    • set UseShellExecute pour false. Cela empêche la commande d'exécuter le shell système.
    • Définissez RedirectStandardOutput sur true pour rediriger la sortie du programme vers votre application C #.
    • Spécifiez le chemin de l'exécutable dans FileName. Pour les fichiers de lots, ce serait "yourbatchfile.bat". Vous devrez également spécifier les arguments dans Arguments.
  3. Démarrez le processus: Utilisez la méthode Start() pour exécuter la commande. Cette méthode ne bloque pas; Le processus s'exécute de manière asynchrone.

  4. Lire la sortie standard: Accédez à la propriété StandardOutput pour récupérer la sortie. Utilisez ReadToEnd() pour obtenir la sortie complète avant la fin du processus.

  5. Attendez l'achèvement du processus: Appelez WaitForExit() pour s'assurer que le programme de ligne de commande s'est terminé avant de procéder. Cela empêche la lecture de sortie incomplète ou corrompue.

Cette méthode vous permet de capturer facilement la sortie et de l'afficher (par exemple, dans une zone de texte) ou de le traiter davantage dans votre application 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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal