代码如下
private void ExecuteCommand(string command)
{
var processInfo = new ProcessStartInfo()
{
FileName = "cmd.exe",
Arguments = $"/C {command}",
CreateNoWindow = true,
UseShellExecute = false,
RedirectStandardOutput = true
};
using (var process = new Process())
{
process.StartInfo = processInfo;
process.OutputDataReceived += (sender, e) => Console.WriteLine(e.Data);
process.Start();
process.BeginOutputReadLine();
process.WaitForExit();
}
}
本代码将执行 command
参数中指定的 cmd 命令,并将输出结果输出到控制台。你可以在需要执行命令的地方调用 ExecuteCommand()
方法,传入需要执行的命令。
这个实现使用了 .NET 中的 System.Diagnostics
命名空间中的 Process
类来执行命令和读取输出结果。我们通过设置 ProcessStartInfo
类型的对象的属性来配置命令的执行方式,然后创建一个 Process
对象来执行命令。在执行命令的过程中,我们订阅了 OutputDataReceived
事件来获取输出结果,在 BeginOutputReadLine()
方法返回之后,调用 WaitForExit()
方法等待命令执行完成。