C# CMD命令未在控制台中运行

C# CMD命令未在控制台中运行,c#,console,cmd,C#,Console,Cmd,我有一些代码在C#中运行cmd命令,这在WinForm中运行得非常好,但在控制台应用程序中运行时却不起作用。我有点难以理解为什么会这样,我尝试添加Windows.Forms作为参考,并使用将添加到代码中,但这也不起作用。我能想到的另一件事是,因为它是作为一个控制台运行的,所以它不能在上面运行另一个控制台窗口 感谢您的帮助 ProcessStartInfo cmd = new ProcessStartInfo("cmd.exe"); cmd.RedirectStandardInput = true

我有一些代码在C#中运行cmd命令,这在WinForm中运行得非常好,但在控制台应用程序中运行时却不起作用。我有点难以理解为什么会这样,我尝试添加Windows.Forms作为参考,并使用将
添加到代码中,但这也不起作用。我能想到的另一件事是,因为它是作为一个控制台运行的,所以它不能在上面运行另一个控制台窗口

感谢您的帮助

ProcessStartInfo cmd = new ProcessStartInfo("cmd.exe");
cmd.RedirectStandardInput = true;
cmd.RedirectStandardOutput = true;
cmd.RedirectStandardError = true;
cmd.UseShellExecute = false;
cmd.CreateNoWindow = true;
cmd.WindowStyle = ProcessWindowStyle.Hidden;
Process console = Process.Start(cmd);
console.StandardInput.WriteLine("command to run");

以下代码将执行您想要的任何控制台命令,并在当前窗口中输出控制台文本,while(true)之后的所有内容与示例相同:

        ProcessStartInfo cmd = new ProcessStartInfo("cmd.exe");
        cmd.RedirectStandardInput = true;
        cmd.UseShellExecute = false;
        cmd.CreateNoWindow = false;
        cmd.WindowStyle = ProcessWindowStyle.Normal;
        Process console = Process.Start(cmd);

        while(true)
            console.StandardInput.WriteLine("pause");
如果不需要任何控制台输出,请将CreateNoWindow设置为true。此外,此代码在使用System.Diagnostics的控制台应用程序中工作


祝你好运

以下代码将执行您想要的任何控制台命令,并在当前窗口中输出控制台文本,while(true)之后的所有内容与示例相同:

        ProcessStartInfo cmd = new ProcessStartInfo("cmd.exe");
        cmd.RedirectStandardInput = true;
        cmd.UseShellExecute = false;
        cmd.CreateNoWindow = false;
        cmd.WindowStyle = ProcessWindowStyle.Normal;
        Process console = Process.Start(cmd);

        while(true)
            console.StandardInput.WriteLine("pause");
如果不需要任何控制台输出,请将CreateNoWindow设置为true。此外,此代码在使用System.Diagnostics的控制台应用程序中工作


祝你好运

哇,所有这些都是为了创建一个文件夹?这个方法怎么样?@DarinDimitrov md命令只是一个例子,我将把这个命令放在这里,我明白你的观点,编辑!您是否绝对需要
cmd.exe
来执行命令?你不能直接使用
过程执行它们吗?启动
?是的,我不喜欢出现控制台窗口,该代码会停止。哇,所有这些都是为了创建一个文件夹吗?这个方法怎么样?@DarinDimitrov md命令只是一个例子,我将把这个命令放在这里,我明白你的观点,编辑!您是否绝对需要
cmd.exe
来执行命令?你不能直接使用
进程执行它们吗?启动
?是的,我不喜欢出现控制台窗口,该代码会停止。太棒了,这正是我想要的,+1。非常感谢你!不适合我。它只是通过了命令,但幕后什么也没发生。太棒了,这正是我想要的,+1。非常感谢你!不适合我。它只是传递命令,但幕后什么也没有发生。