使用C#编写通过cmd开启程序并重定向输入输出流,同步获取数据
时间: 2024-02-22 12:57:18 浏览: 20
以下是一个使用C#的Process类通过cmd开启程序并同步获取数据的示例代码:
```
using System;
using System.Diagnostics;
using System.IO;
class Program
{
static void Main(string[] args)
{
try
{
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c ping 127.0.0.1"; //这里是要执行的命令
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
process.StandardInput.WriteLine("exit"); //这里是要输入的内容
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine(output);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
```
在这个示例中,我们使用Process类创建了一个新的进程并设置了FileName、Arguments、UseShellExecute、RedirectStandardInput和RedirectStandardOutput属性,然后通过StandardInput属性向进程输入内容。在重定向标准输入和输出流后,我们使用StandardOutput属性同步获取输出内容,并在最后通过WaitForExit方法等待进程退出。