我正在尝试执行存储在程序文件下的文件。该程序通常从命令提示符调用,并在运行时输出信息。我想捕获输出。
下面的代码解决了一半的工作:程序被执行,控制台弹出控制台显示输出,但我无法捕获输出:
ProcessStartInfo start = new ProcessStartInfo();
start.WorkingDirectory = directory;
start.FileName = fileName;
start.Arguments = arguments;
//start.UseShellExecute = false;
//start.RedirectStandardOutput = true;
using (Process process = Process.Start(start))
{
// code
}
现在我使用下面的代码来捕获输出:
ProcessStartInfo start = new ProcessStartInfo();
start.WorkingDirectory = directory;
start.FileName = fileName;
start.Arguments = arguments;
start.UseShellExecute = false;
start.RedirectStandardOutput = true;
using (Process process = Process.Start(start))
{
using (StreamReader reader = process.StandardOutput)
{
string result = reader.ReadToEnd();
Console.Write(result);
}
}
程序在执行start命令的行中崩溃,错误“系统找不到指定的文件”
我没有得到的是,该计划的第一部分有效,但不是第二部分。
我在这个主题上搜索了很多,有很多建议但是找不到解决我问题的建议。
我使用.NET 3.5作为程序,我更喜欢该程序,因为它与程序的其他部分兼容。