J'ai regardé jusqu'à "comment obtenir la sortie standard de cmd" et j'ai trouvé quelques tutoriels, mais aucun, oui NONE a semblé fonctionner, im essayant de lire toute la sortie qui "cmd. exe "a pour moi.Lecture sortie de cmd obtenir des erreurs
Heres le code entier, défilement vers le bas pour l'emplacement d'erreur
public static string C(string arguments, bool b)
{
System.Diagnostics.Process process = new
System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new
System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle =
System.Diagnostics.ProcessWindowStyle.Hidden;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.UseShellExecute = false;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = arguments;
process.StartInfo = startInfo;
process.Start();
string res = "";
if (b)
{
StringBuilder q = new StringBuilder();
while (!process.HasExited)
{
q.Append(process.StandardOutput.ReadToEnd());
}
string r = q.ToString();
res = r;
}
if(res == "" || res == null)
{
return "NO-RESULT";
}
return res;
}
Où je reçois mon erreur (System.InvalidOperationException: « StandardOut n'a pas été réorienté ou le processus n'a pas encore commencé. »)
string res = "";
StringBuilder q = new StringBuilder();
while (!process.HasExited)
{
q.Append(process.StandardOutput.ReadToEnd()); // Right here
}
string r = q.ToString();
res = r;
Avez-vous essayé [ce] (https://stackoverflow.com/questions/1145969/processinfo-and-redirectstandardoutput)? –