c# 调用 cmd如何使cmd窗口实时显示
时间: 2024-10-20 15:04:08 浏览: 45
在 C# 中,如果你想通过 Console 操作系统命令行 (CMD) 并实现实时显示,你可以使用 `System.Diagnostics.Process` 类来启动一个新的进程,并捕获其标准输出(stdout)。以下是一个简单的示例:
```csharp
using System;
using System.Diagnostics;
public class Program
{
public static void Main(string[] args)
{
// 创建 Process 对象,指定要运行的命令
var process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/k powershell -command \"your-command-here\""; // 替换为你想要执行的命令
// 启动命令并设置输出重定向
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false; // 防止打开新的窗体
process.OutputDataReceived += (sender, e) =>
{
if (e.Data != null)
Console.WriteLine(e.Data); // 实时打印 CMD 的输出
};
process.Start();
// 开始接收数据,注意这个线程会被阻塞直到有输出
process.BeginOutputReadLine();
// 等待命令结束,如果需要可以在这里添加其他处理
process.WaitForExit();
}
}
```
在这个例子中,`/k` 参数告诉 CMD 运行完指定的命令后继续执行(即保持 CMD 窗口打开),`powershell -command \"your-command-here\"` 是你要运行的具体命令。
阅读全文