ProcessStartInfoとを使用してProcess、プログラム(getdiff.exeなど)を起動し、プログラムが生成するすべての出力を読み取ります。後で、データをより建設的な方法で使用します。データが機能することを確認するために、データを印刷したいだけです。ただし、プログラムは正常に終了しません。誰かがなぜそうするのですか?よろしくお願いします。
ProcessStartInfo psi = new ProcessStartInfo("getdiff.exe");
psi.Arguments = "DIFF";
psi.UseShellExecute = false;
psi.RedirectStandardInput = true;
psi.WorkingDirectory = "c:\\test";
Process p = Process.Start(psi);
string read = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine(p);
Console.WriteLine("Complete");
p.Close();
プログラムをこれに変更すると、正しく機能するようになりました。
ProcessStartInfo psi = new ProcessStartInfo("getdiff.exe");
psi.Arguments = "DIFF";
psi.UseShellExecute = false;
psi.RedirectStandardInput = true;
psi.WorkingDirectory = "c:\\test";
Process p = Process.Start(psi);
StreamReader read = p.StandardOutput;
while (read.Peek() >= 0)
Console.WriteLine(read.ReadLine());
Console.WriteLine("Complete");
p.WaitForExit();
p.Close();