Hallo zusammen
Ich starte mit C# eine Batchdatei und leite den Output in ein Texfile um. Dies klappt wunderbar, jedoch werden die Pausen welche im Batch hinterlegt sind einfach übergangen.
Weiss jemand wie ich das unterbinden kann, sprich das zwar die Ausgabe in der Textbox erfolgt, es sich jedoch genau so verhält wie wenn es in der Konsole gestartet wäre.
Pause wird als Pause interpretiert und mit Enter geht es weiter bis zur nächsten Pause.
So wie ich das sehe wird der Process geschlossen und nicht am laufen gehalten, wie es eigentlich sein müsste wenn eine Pause kommt...
Hoffe ich habe mich einigermassen verständlich ausgedrückt.
Code zum Starten der Batch Datei und umleiten des Output in Textbox:
C#-Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| private void button1_Click(object sender, EventArgs e) { oraHome = textBox1.Text; oraRoot = textBox2.Text; new_id = textBox3.Text; dump_dir = textBox4.Text; pp_dir = textBox5.Text;
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("cmd.exe", "/C" + "C:\\temp\\test.cmd " + oraHome + " " + oraRoot + " " + new_id + " " + dump_dir + " " + pp_dir); myProcessStartInfo.UseShellExecute = false; myProcessStartInfo.RedirectStandardOutput = true;
myProcess.StartInfo = myProcessStartInfo; myProcess.Start();
StreamReader myStreamReader = myProcess.StandardOutput;
string myString = myStreamReader.ReadToEnd();
textBox6.Text = myString;
myProcess.Close();
} |
Moderiert von
Christian S.: C#-Tags hinzugefügtModeriert von
Christian S.: Topic aus WinForms verschoben am Do 27.01.2011 um 08:58