要获取cmd执行exe的进度,你可以使用Process类来启动cmd进程并执行命令。下面是一个示例代码,它演示了如何执行cmd命令并捕获输出,然后将其传递给进度条以显示进度:

using System.Diagnostics;

// ...

public void RunCommand(string command)
{
    // Create a new ProcessStartInfo object and set the command and arguments
    ProcessStartInfo startInfo = new ProcessStartInfo("cmd.exe", "/c " + command);

    // Set the process options
    startInfo.RedirectStandardOutput = true;
    startInfo.UseShellExecute = false;
    startInfo.CreateNoWindow = true;

    // Create the process and start it
    Process process = new Process();
    process.StartInfo = startInfo;
    process.EnableRaisingEvents = true;
    process.OutputDataReceived += new DataReceivedEventHandler(Process_OutputDataReceived);
    process.Start();
    process.BeginOutputReadLine();
}

private void Process_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
    if (e.Data != null)
    {
        // Parse the output to get the progress information
        // Update your progress bar with the progress information
    }
}

在这个例子中,我们使用Process类来启动一个cmd.exe进程,并传递一个命令来执行。我们设置了RedirectStandardOutput为true,以便我们可以捕获cmd的输出。我们还启用了OutputDataReceived事件,该事件在输出数据到达时触发。在事件处理程序中,我们可以解析输出以获取进度信息,并将其传递给进度条以显示进度。