2013-04-04 16 views
15

ja wykonując polecenia w wierszu polecenia w następujący sposób:C# wykonać polecenie powłoki i uzyskać wynik

string cmd = "/c dir" ; 
System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
proc.StartInfo.FileName = "cmd.exe" 
proc.StartInfo.Arguments = cmd; 
proc.StartInfo.UseShellExecute = false; 
proc.StartInfo.RedirectStandardOutput = true; 
proc.Start(); 

Jak uzyskać wynik polecenia?

+0

Zobacz tę odpowiedź, jak używać 'ReadToEnd'method: http://stackoverflow.com/a/7160384/214222 –

Odpowiedz

19

spróbować

string output = proc.StandardOutput.ReadToEnd(); 
+2

Taa dzięki! Zadziałało! – Mika

+0

Jak mogę uzyskać taki sam wynik, jeśli ustawię "proc.StartInfo. UseShellExecute = true;"? – anion

+0

Nie przechwytuje danych wyjściowych w przypadku wystąpienia błędu. – Arjang

Powiązane problemy