如何在C#中执行CMD命令并返回值
这是一个关于如何在C#中执行cmd命令并返回值的问题。原帖中提供了一个很好的答案,还展示了如何在不弹出命令提示符窗口的情况下运行命令。
根据原帖中的代码,我们可以看到使用System.Diagnostics.Process.Start方法来执行cmd命令。其中,CMD.exe是要执行的命令,strCmdText是要执行的具体命令。在这个例子中,执行的命令是将Image1.jpg和Archive.rar两个文件合并为Image2.jpg。
然而,原帖中提到OP希望能够返回值,即执行命令后的结果。针对这个问题,原帖中的回答者暂时没有给出具体的解决方法。
因此,我们可以总结出这个问题的原因是希望在C#中执行cmd命令并能够返回执行结果,而解决方法目前尚未给出。
希望对您有所帮助!
问题的出现原因:需要在C#中执行cmd命令并返回结果值。
解决方法:使用Process.Start()方法运行命令行命令,捕获控制台输出,并解析以获取返回值。
代码示例:
using System; using System.Diagnostics; class Program { static void Main() { string command = "your command here"; string arguments = "your arguments here"; ProcessStartInfo startInfo = new ProcessStartInfo { FileName = "cmd.exe", RedirectStandardOutput = true, UseShellExecute = false, CreateNoWindow = true, Arguments = $"/c {command} {arguments}" }; Process process = new Process { StartInfo = startInfo }; process.Start(); string output = process.StandardOutput.ReadToEnd(); process.WaitForExit(); Console.WriteLine(output); } }
以上代码通过创建一个ProcessStartInfo对象来设置cmd.exe的参数,包括要执行的命令和参数。然后,通过将RedirectStandardOutput属性设置为true,将控制台输出重定向到程序中。最后,通过Start方法启动进程,并使用StandardOutput.ReadToEnd方法读取控制台输出,并等待进程退出。最后,将输出打印到控制台。
使用这种方法,您可以在C#中执行cmd命令并获取返回值。