C#如何获得其他批处理文件的输出
本文关键字:输出 批处理文件 其他 何获得 | 更新日期: 2023-09-27 17:48:48
我必须使用其他应用程序(控制台)将一些参数传递给这个程序,并在我的C#程序中获得该程序的输出。我不想看到控制台(用户看不见)。我该怎么做?
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("YOUPROGRAM_CONSOLE.exe" );
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
StreamReader myStreamReader = myProcess.StandardOutput;
string myString = myStreamReader.ReadLine();
Console.WriteLine(myString);
myProcess.Close();
来源:MSDN
编辑时间:如果需要获取错误消息,则需要使用异步操作。您可以使用异步读取操作来避免这些依赖关系及其死锁的可能性。或者,您可以通过创建两个线程并在一个单独的线程上读取每个流的输出来避免死锁情况。