Bonjour,
Je réalise actuellement un programme console en C#.
Je dois lancer des ".bat" via cet utilitaire. Ces ".bat" sont des boîtes noirs, je ne peux absolument pas les modifier.
j'ai donc mon code qui ressemble à ça:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "cmd";
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
proc.StandardInput.WriteLine("cd /d " + directoryBat);
proc.StandardInput.WriteLine(batFilename);
proc.StandardInput.Close();
consoleContentOutput = proc.StandardOutput.ReadToEnd();
consoleContentError = proc.StandardError.ReadToEnd();
proc.WaitForExit();
finalExitCode = proc.ExitCode;
return finalExitCode; |
En fait, je viens de faire le test avec deux ".bat".
Avec un je n'ai aucun soucis. Avec l'autre, ça ne s'arrête jamais, comme si l'éxécution était sur pause.
Quand je retire cette ligne, l'éxécution se termine bien:
consoleContentOutput = proc.StandardOutput.ReadToEnd();
Je ne sais absolument pas d'où ça peut venir.
Est ce que quelqu'un aurait une idée?
Pour info: les ".bat" lancent des ".JAR".
Par avance merci.
Partager