c#自动获取cmd执行命令后的内容
时间: 2024-09-15 17:13:59 浏览: 76
在C#中,如果需要从CMD执行命令并获取其输出内容,你可以使用`System.Diagnostics.Process`类来创建一个进程,并读取它的标准输出(StandardOutput)。下面是一个简单的示例,展示如何获取CMD执行命令的结果:
```csharp
using System;
using System.Diagnostics;
string commandToRun = "dir"; // 替换成你想要执行的命令
string outputPath = "";
try
{
using (var process = new Process())
{
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = $@"/c {commandToRun}"; // 添加命令到args中
process.StartInfo.RedirectStandardOutput = true; // 开启输出流重定向
process.StartInfo.UseShellExecute = false;
process.Start();
outputPath = process.StandardOutput.ReadToEnd(); // 读取输出内容
Console.WriteLine($"命令执行结果:{outputPath}");
}
}
catch (Exception ex)
{
Console.WriteLine($"发生错误: {ex.Message}");
}
// 提供清理操作或其他后续任务...
```
在上述代码中,`ReadToEnd()`方法会阻塞直到命令执行完成,然后返回所有输出文本。你需要将`commandToRun`替换为你实际要执行的命令。
阅读全文