C# 和Dos窗口的交互
class Program
{
static void Main(string[] args)
{
Console.WriteLine("begin");
var file = @"D:\book\RR\RR.csproj";
Console.WriteLine("hello world");
var dosLine = $"upgrade-assistant upgrade {file}";
Process ipconfigProcess = new Process();
// Indicate that we want to execute ipconfig
ipconfigProcess.StartInfo.FileName = "upgrade-assistant";
ipconfigProcess.StartInfo.Arguments = $"upgrade {file}";
// Indicate that we want to read the command line output
ipconfigProcess.StartInfo.RedirectStandardOutput = true;
ipconfigProcess.StartInfo.UseShellExecute = false;
ipconfigProcess.StartInfo.RedirectStandardInput = true;
ipconfigProcess.OutputDataReceived += IpconfigProcess_OutputDataReceived;
// Start the process to execute ipconfig
ipconfigProcess.Start();
// Get a StreamReader to read from the standard output of
// the ipconfig process
StreamReader reader = ipconfigProcess.StandardOutput;
var input = ipconfigProcess.StandardInput;
// Perform reading and writing of standard output to Console
String line;
string sumLine = "";
while ((line = reader.ReadLine()) != null)
{
sumLine += line + "\r\n";
Console.WriteLine(line);
input.WriteLine(1);
} // end while
Console.ReadKey();
Console.WriteLine("end");
Console.ReadKey();
}
private static void IpconfigProcess_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
Console.WriteLine(e.Data);
}
}

浙公网安备 33010602011771号