没有给出外部批处理脚本C#的正确输出

时间:2009-11-17 01:58:15

标签: c# streamreader

我需要程序来提供批处理脚本的输出,而目前它只是打印

System.IO.StreamReader

它应该打印批处理脚本所说的

这只是与启动新进程有关的部分,声明了文件路径等变量,脚本本身运行但没有显示正确的输出

Process Uninstaller = new Process();

Uninstaller.StartInfo.FileName = Path.Combine(uninstalldirectory, BatchProcessFileName);
Uninstaller.StartInfo.UseShellExecute = false;
Uninstaller.StartInfo.CreateNoWindow = true;
Uninstaller.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Uninstaller.StartInfo.RedirectStandardOutput = true;
Uninstaller.Start();
StreamReader ReadUninstallerOutput = Uninstaller.StandardOutput;
Uninstaller.Close();
string OutputEnd = ReadUninstallerOutput.ReadToEnd();
Console.WriteLine(ReadUninstallerOutput);

ReadUninstallerOutput.Close();
Console.WriteLine("Uninstallation Successful");

2 个答案:

答案 0 :(得分:2)

那是因为你正在让控制台写ReadUninstallerOutput,这是一个对象,而不是拥有你想要的数据的字符串,而且所有方法都在调用ToString方法。类型。根据您的代码判断,您需要替换:

Console.WriteLine(ReadUninstallerOutput);

使用:

Console.WriteLine(OutputEnd);

答案 1 :(得分:1)

替换

Console.WriteLine(ReadUninstallerOutput);

Console.WriteLine(OutputEnd);