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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.