如何在C#中执行CMD命令并返回值

26 浏览
0 Comments

如何在C#中执行CMD命令并返回值

如何执行cmd命令并返回其结果值。

例如,我执行命令Ipconfig并返回一个可用接口列表。

谢谢。

0
0 Comments

这是一个关于如何在C#中执行cmd命令并返回值的问题。原帖中提供了一个很好的答案,还展示了如何在不弹出命令提示符窗口的情况下运行命令。

根据原帖中的代码,我们可以看到使用System.Diagnostics.Process.Start方法来执行cmd命令。其中,CMD.exe是要执行的命令,strCmdText是要执行的具体命令。在这个例子中,执行的命令是将Image1.jpg和Archive.rar两个文件合并为Image2.jpg。

然而,原帖中提到OP希望能够返回值,即执行命令后的结果。针对这个问题,原帖中的回答者暂时没有给出具体的解决方法。

因此,我们可以总结出这个问题的原因是希望在C#中执行cmd命令并能够返回执行结果,而解决方法目前尚未给出。

希望对您有所帮助!

0
0 Comments

问题的出现原因:需要在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命令并获取返回值。

0