我有一个从终端运行的C#控制台应用程序。然后我的问题是我如何在同一终端中执行color a0
,dir
或ping 1.1.1.1
等shell命令(和/或在需要时获取输出) )
我只看到了启动新cmd.exe进程并在其中运行所需命令并返回输出的解决方案,但是我想知道 if 是否可以保留命令在同一过程中执行。
所以说当我在控制台中调用myprogam.exe时,我希望它更改为控制台颜色为绿色。 大多数人会做的事情(在大多数情况下我也是这样)是
Console.ForegroundColor = Color.Green;
但这仅更改为以后打印的文本。无论如何,我想要一个像这样的解决方案:
string command = "color a0";
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.FileName = "CMD.exe";
startInfo.Arguments = "/c " + command; // The Command
process.StartInfo = startInfo;
process.Start();
string output = process.StandardOutput.ReadToEnd();
但是在程序运行所在的终端中执行任务。