Befehlszeilenprogramme ausführen und die Ausgabe in C#
erfassenDieser Handbuch zeigt, wie Sie Befehlszeilenanwendungen aus einem C# -Programm ausführen und deren Standardausgabe abrufen. Dies ist nützlich, um externe Tools zu integrieren oder Systemaufgaben direkt von Ihrer Anwendung auszuführen. In einem häufigen Beispiel ist ein "Diff" -Fehl für zwei Dateien und die Verwendung der Ergebnisse.
Die System.Diagnostics.Process
-Kläufe liefert die notwendige Funktionalität. Hier ist ein Schritt-für-Schritt-Ansatz:
Erstellen Sie eine Prozessinstanz: Ein Process
Objekt, um das Befehlszeilenprogramm darzustellen.
Konfigurieren Sie Prozessparameter:
UseShellExecute
auf false
. Dies verhindert, dass der Befehl durch die Systemschale läuft. RedirectStandardOutput
auf true
, um die Ausgabe des Programms in Ihre C# -Anwendung umzuleiten. FileName
an. Für Batch -Dateien wäre dies "yourBatchFile.bat". Sie müssen auch die Argumente in Arguments
angeben. Starten Sie den Prozess: Verwenden Sie die Methode Start()
, um den Befehl auszuführen. Diese Methode blockiert nicht; Der Prozess läuft asynchron.
Standardausgabe lesen: Zugriff auf die Eigenschaft StandardOutput
, um die Ausgabe abzurufen. Verwenden Sie ReadToEnd()
, um die vollständige Ausgabe vor Abschluss des Vorgangs zu erhalten.
Warten Sie auf den Abschluss des Prozesses: Anruf WaitForExit()
, um sicherzustellen, dass das Befehlszeilenprogramm vor dem Fortschritt abgeschlossen ist. Dies verhindert das Lesen unvollständiger oder beschädigter Ausgabe.
Mit dieser Methode können Sie die Ausgabe problemlos erfassen und (z. B. in einem Textfeld) auf einfache Weise anzeigen oder in Ihrer C# -Anwendung weiter verarbeiten.
Das obige ist der detaillierte Inhalt vonWie kann ich ein Befehlszeilenprogramm ausführen und seine Ausgabe in C#erfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!