J'utilise le codeur MP3 de ligne de commande boiteux dans un projet. Je veux pouvoir voir quelle version quelqu'un utilise. Si je viens d'exécuter boit.exe sans paramatère, je reçois, par exemple: si j'essaie de rediriger la sortie dans un fichier texte à l'aide de> dans un fichier texte, le fichier texte est vide. Où est-ce que ce texte accessible est accessible en l'exécutant à l'aide de System.Process en C #? P> P>
4 Réponses :
Il pourrait être envoyé à stardr, avez-vous essayé cela?
Découvrez processus.standardError . P>
Essayez-le en utilisant P>
C:\LAME>LAME.exe 2> test.txt
Il utilise probablement STDERR. cmd.exe ne vous permet pas de rediriger stardr et la seule façon dont j'ai déjà redirigé est avec un outil DJGPP. p>
Puis-je voir cela en C # à l'aide du système.Process? Je vais regarder cela maintenant merci.
Eh bien, peut-être que je me trompe, ce support.microsoft.com/kb/110930 dit que vous peut rediriger stardr maintenant.
c'est toujours été possible avec cmd
Il peut être sorti à STDERR au lieu de stdout. Vous pouvez Rediriger STDRERR en faisant:
LAME.exe 2> textfile.txt
System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.EnableRaisingEvents = false; proc.StartInfo.FileName = @"C:\LAME\LAME.exe"; proc.StartInfo.RedirectStandardError = true; proc.StartInfo.UseShellExecute = false; proc.Start(); string output = proc.StandardError.ReadToEnd(); proc.WaitForExit(); MessageBox.Show(output); worked. thanks all!