个人资料

跳过导航链接首页 > 博客列表 > 博客正文

c#调用控制台exe传入参数并获取输出结果

:

代码如下:


//实例化一个进程类 
			Process cmd = new Process();

			//获得系统信息,使用的是 systeminfo.exe 这个控制台程序 
			cmd.StartInfo.FileName = @"D:\Web\ASP.NET\cloud0\AI\cntkai\cntkai\bin\x64\Debug\cntkai.exe";

			//将cmd的标准输入和输出全部重定向到.NET的程序里

			cmd.StartInfo.UseShellExecute = false; //此处必须为false否则引发异常

			cmd.StartInfo.RedirectStandardInput = true; //标准输入 
			cmd.StartInfo.RedirectStandardOutput = true; //标准输出
			cmd.StartInfo.WorkingDirectory = @"D:\Web\ASP.NET\cloud0\AI\cntkai\cntkai\bin\x64\Debug\";
			//不显示命令行窗口界面 
			cmd.StartInfo.CreateNoWindow = true;
			cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
			cmd.StartInfo.Arguments = arg_str;
			cmd.Start(); //启动进程
						 //

			var returnvalue = cmd.StandardOutput.ReadToEnd();
			//returnvalue = returnvalue + "---";
			//Console.WriteLine(returnvalue);
			string sper = "\r\n";
			var trimed = returnvalue.Split(sper.ToArray());
			var value = trimed[trimed.Length - 3];
			Console.WriteLine(value);
			var eval = Convert.ToDouble(value);
			Console.WriteLine(eval);

			cmd.WaitForExit();//等待控制台程序执行完成 
			cmd.Close();//关闭该进程

		
			return eval;






人生最美是留白.


songshizhao
最初发表2019/7/8 21:06:17 最近更新2019/7/8 21:06:57 4923
为此篇作品打分
10