2010-04-25 4 views
11

Je suis en train de commande Démarrer processus de PROMT avec args. Maintenant, je veux obtenir des informations sur les erreurs si elles existent.Process.Start() obtiennent des erreurs de fenêtre d'invite de commande

someProcess = System.Diagnostics.Process.Start(cmd, someArgs); 

Meilleures salutations, loviji

+0

Que voulez-vous dire? – SLaks

+1

Question totalement vague. Quel genre d'erreur? – Nayan

+1

Ce n'est pas une question vague. Compréhensible. – cgalvao1993

Répondre

12

Les autres réponses sont correctes. Voici un code que vous pouvez utiliser:

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

Notez que si le fichier est introuvable, vous n'obtiendrez une erreur sur erreur standard. Vous obtiendrez une exception à la place.

+0

Notez que l'appel à ReadToEnd peut ne jamais se terminer. Pour éviter les interblocages, utilisez plutôt les méthodes de lecture asynchrones. Voir ma réponse ici: http://stackoverflow.com/questions/139593/processstartinfo-hanging-on-waitforexit-why/7608823#7608823 –

+0

Je suis vos ans. et a obtenu cette erreur dans les erreurs (chaîne var.) 'casperjs' n'est pas reconnu comme une commande interne ou externe, un programme ou un fichier batch. \ r \ n Plz donner une solution si elle existe –

Questions connexes