首页 新闻 会员 周边 捐助

C#调用cmd命令行设置命令 并获取返回的数据。 有没有做过类型程序的。

0
悬赏园豆:40 [待解决问题]

我大概知道是需要调用

ProcessStartInfo  来启动程序可是不知道如果给它输入命令和获取返回数据.

有没有做过类似功能的老鸟给点思路

先问后学的主页 先问后学 | 初学一级 | 园豆:127
提问于:2014-04-26 17:35
< >
分享
所有回答(3)
0

你可以使用ShellExecute

这个比cmd那个好使http://baike.baidu.com/link?url=U7Iy0eAZRch3YimgQaYvZP8V8jexq2MjJh4KBO5Cvp8bWtGPpCj1qR1ppbIDZ9GZ0mE0f5qKi05PXJwh1g1Lzq

幕三少 | 园豆:1384 (小虾三级) | 2014-04-26 18:32
0

Process有个outputstream的你直接读取返回的信息就OK了

56180825 | 园豆:1749 (小虾三级) | 2014-04-26 21:29

嗯我知道大概的流程。你能说详细点吗

支持(0) 反对(0) 先问后学 | 园豆:127 (初学一级) | 2014-04-26 21:31
0

//ProcessStartInfo start = new ProcessStartInfo("svn.exe");//设置运行的命令行文件问svn.exe文件,这个文件系统会自己找到
//如果是其它exe文件,则有可能需要指定详细路径,如运行winRar.exe
start.Arguments = " log " + _servicesPath;
start.CreateNoWindow = false;//不显示dos命令行窗口
start.RedirectStandardOutput = true;//
start.RedirectStandardInput = true;//
start.UseShellExecute = false;//是否指定操作系统外壳进程启动程序
Process p = Process.Start(start);
//p.StandardInput.WriteLine("svn help ");//如果通过cmd 的方式的话可以这样来传递参数
StreamReader reader = p.StandardOutput;//截取输出流
string output = p.StandardOutput.ReadToEnd();

p.WaitForExit();//等待程序执行完退出进程
p.Close();//关闭进程
reader.Close();//关闭流

先问后学 | 园豆:127 (初学一级) | 2014-04-28 11:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册