2010-04-25 18 views

Odpowiedz

12

Inne odpowiedzi są poprawne. Oto kod można użyć:

ProcessStartInfo startInfo = new ProcessStartInfo(cmd, args); 
startInfo.UseShellExecute = false; 
startInfo.RedirectStandardError = true; 
Process someProcess = Process.Start(startInfo); 
string errors = someProcess.StandardError.ReadToEnd(); 

Zauważ, że jeśli plik nie został znaleziony nie dostaniesz błąd na standardowe wyjście błędów. Zamiast tego otrzymasz wyjątek.

+0

Należy pamiętać, że wywołanie funkcji ReadToEnd może nigdy się nie zakończyć. Aby uniknąć zakleszczenia, zamiast tego użyj asynchronicznych metod odczytu. Zobacz moją odpowiedź tutaj: http://stackoverflow.com/questions/139593/processstartinfo-hanging-on-waitforexit-why/7608823#7608823 –

+0

Podążam za twoimi ans. i dostał ten błąd w błędach (ciąg znaków var.) 'casperjs' nie jest rozpoznawany jako wewnętrzne lub zewnętrzne polecenie, \ r \ nzgodny program lub plik wsadowy. \ r \ n Plz daje dowolne rozwiązanie, jeśli istnieje –

Powiązane problemy