主题:截取控制台dos错误信息
执行一个.exe应用程序,在dos状态下运行。
如果程序执行成功,程序本身会返回给一个信息,我会把这个信息截取,并且写入文本文件。但是如果程序没有执行成功,程序本身是不会返回任何信息的,但是dos会返回错误信息。
我用一下代码,只能截取程序执行成功时,程序本身返回的信息,无法截取到没有执行成功时,dos的错误信息,请问,我想截取dos的错误信息,应该怎么做。希望能说的详细一下,谢谢!
Process MyProcess = new Process();
//设定程序名
MyProcess.StartInfo.FileName = "pppp.exe";
//关闭Shell的使用
MyProcess.StartInfo.UseShellExecute = false;
//重定向标准输入
MyProcess.StartInfo.RedirectStandardInput = true;
//重定向标准输出
MyProcess.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
MyProcess.StartInfo.RedirectStandardError = true;
//设置不显示窗口
MyProcess.StartInfo.CreateNoWindow = true;
//执行VER命令
MyProcess.Start();
//从输出流获取命令执行结果,
string StrInfo = MyProcess.StandardOutput.ReadToEnd();
//从头读取的尾!
StreamWriter sw = new StreamWriter(“text.txt");
sw.WriteLine(StrInfo);
sw.Close();
如果程序执行成功,程序本身会返回给一个信息,我会把这个信息截取,并且写入文本文件。但是如果程序没有执行成功,程序本身是不会返回任何信息的,但是dos会返回错误信息。
我用一下代码,只能截取程序执行成功时,程序本身返回的信息,无法截取到没有执行成功时,dos的错误信息,请问,我想截取dos的错误信息,应该怎么做。希望能说的详细一下,谢谢!
Process MyProcess = new Process();
//设定程序名
MyProcess.StartInfo.FileName = "pppp.exe";
//关闭Shell的使用
MyProcess.StartInfo.UseShellExecute = false;
//重定向标准输入
MyProcess.StartInfo.RedirectStandardInput = true;
//重定向标准输出
MyProcess.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
MyProcess.StartInfo.RedirectStandardError = true;
//设置不显示窗口
MyProcess.StartInfo.CreateNoWindow = true;
//执行VER命令
MyProcess.Start();
//从输出流获取命令执行结果,
string StrInfo = MyProcess.StandardOutput.ReadToEnd();
//从头读取的尾!
StreamWriter sw = new StreamWriter(“text.txt");
sw.WriteLine(StrInfo);
sw.Close();