后台执行cmd。exe,来调用beyond Compare,但是每次都会打开新网页
还有想在后台将生成的report。htm打开,用frame,结果只得到2个白框,
Process p = new Process();
p.StartInfo.FileName = @"cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
string str = "D:\\BCompare\\BCompare.exe @D:\\parser\\BCconsle.txt D:\\parser\\o.txt D:\\parser\\s.txt D:\\parser\\report.html ";
p.StandardInput.WriteLine(str);
p.StandardInput.WriteLine();
p.StandardInput.AutoFlush = true;
p.StandardInput.WriteLine("exit");
p.StandardOutput.ReadToEnd();
p.Close();
Response.Write("<a href=' D:\\parser\\report.html'></a>");
// Response.Write("<frameset cols='25%,50%,25%'><frame src='D:\\parser\\report.html' /></frameset>");
那是因为你的服务器和客户机对于调试来讲是一台电脑。你真的发布下就知道了,根本没用的程序。
你这段代码根本不能工作,首先要区分客户端和服务器端根本是两回事。这代码根本没法输出到客户端。
检查程序调用正确没有,单独打开report.html有没有结果
为什么用@,这个可能是个错误