通过Process.Start获取CMD输出,并在C#中使用UseShellExecute = true

时间:2015-07-28 13:33:00

标签: c# cmd

我需要在c#应用程序中运行一个提升的命令并获取输出。

我正在创建一个新的System.Diagnostics.Process实例,并加上一个新的System.Diagnostics.ProcessStartInfo实例。

该命令正在发送给cmd.exe,遗憾的是,可能需要提升用户访问权限(意味着UseShellExecute = trueVerb = "runas"必须存在)。

使用UseShellExecute = true后,RedirectStandardOutput无效。

重要的是我记录了命令的输出,但我能看到的唯一方法就是在参数列表中添加类似> output.txt的内容,然后调用System.IO.File.ReadAllText来读取结果。

任何人都可以想到更少的hacky方式吗?

0 个答案:

没有答案