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:
Créer une instance de processus: Instancier un objet Process
pour représenter le programme de ligne de commande.
Configurer les paramètres de processus:
UseShellExecute
pour false
. Cela empêche la commande d'exécuter le shell système. RedirectStandardOutput
sur true
pour rediriger la sortie du programme vers votre application C #. FileName
. Pour les fichiers de lots, ce serait "yourbatchfile.bat". Vous devrez également spécifier les arguments dans Arguments
. 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.
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.
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!