Nicht korrekte Ausgabe von externen Batch-Skript C # geben
-
20-09-2019 - |
Frage
Ich brauche das Programm der Ausgabe der Batch-Skript zu geben, und im Moment Druck es ist nur
System.IO.StreamReader
und es soll Druck sein, was auch immer die Batch-Skript sagt
Dies ist nur der Teil, der mit dem Starten eines neuen Prozesses zu tun hat, werden die Variablen wie der Pfad zur Datei deklariert und das Skript selbst läuft, zeigt aber nicht die richtige Ausgabe
Process Uninstaller = new Process();
Uninstaller.StartInfo.FileName = Path.Combine(uninstalldirectory, BatchProcessFileName);
Uninstaller.StartInfo.UseShellExecute = false;
Uninstaller.StartInfo.CreateNoWindow = true;
Uninstaller.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Uninstaller.StartInfo.RedirectStandardOutput = true;
Uninstaller.Start();
StreamReader ReadUninstallerOutput = Uninstaller.StandardOutput;
Uninstaller.Close();
string OutputEnd = ReadUninstallerOutput.ReadToEnd();
Console.WriteLine(ReadUninstallerOutput);
ReadUninstallerOutput.Close();
Console.WriteLine("Uninstallation Successful");
Lösung
Ersetzen
Console.WriteLine(ReadUninstallerOutput);
mit
Console.WriteLine(OutputEnd);
Andere Tipps
Das ist, weil Sie die Konsole Schreib ReadUninstallerOutput
haben sollte, die ein Objekt ist, nicht die Zeichenfolge, die die Daten haben Sie wollen, und die ganze Verfahren tut rufen die ToString
Methode auf diesem Typ. Geht man von Code, würden Sie wollen, ersetzt werden:
Console.WriteLine(ReadUninstallerOutput);
mit:
Console.WriteLine(OutputEnd);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow