C#【必备技能篇】cmd重定向

文章目录

  • 一、实现目的
  • 二、工程1:Test.cs代码
  • 三、工程2:MainConsoleApp.cs代码
  • 四、测试结果

一、实现目的

通过MainConsoleApp.exe向Test.exe中输入参数,并将结果返回到MainConsoleApp.exe

二、工程1:Test.cs代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            string content = Console.ReadLine();
            if (content.ToUpper() == "TEST")
            {
                Console.WriteLine("Success!\r\nCongratulation!");
            }
            else
            {
                Console.WriteLine("Fail!\r\nSee you later.");
            }
            //Console.ReadLine();
        }
    }
}

三、工程2:MainConsoleApp.cs代码

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MainConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Process proc = new Process
            {
                StartInfo = new ProcessStartInfo
                {
                    FileName = @"E:\Desktop\Test.exe",
                    UseShellExecute = false,
                    CreateNoWindow = false,
                    RedirectStandardInput = true,
                    RedirectStandardOutput = true
                }
            };
            proc.Start();
            proc.StandardInput.WriteLine("Test");
            Console.WriteLine("MainInput:Test");
            string line = null;
            while (!proc.StandardOutput.EndOfStream)
            {
                line += proc.StandardOutput.ReadLine() + Environment.NewLine;
            }
            Console.WriteLine(line);
            proc.WaitForExit();

            //再次启动
            proc.Start();
            proc.StandardInput.WriteLine("T");
            Console.WriteLine("MainInput:T");
            string content = proc.StandardOutput.ReadToEnd();
            Console.WriteLine(content);
            proc.WaitForExit();

            Console.ReadKey();
        }
    }
}

四、测试结果

C#【必备技能篇】cmd重定向_第1张图片

你可能感兴趣的:(#,C#必备技能,c#,重定向,cmd)