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