C# 从C使用cmd.exe#

C# 从C使用cmd.exe#,c#,process,command,C#,Process,Command,我一直在玩弄C#中的Process类。下面有一些代码我想用来打开cmd.exe并运行DIR命令。但是,当我尝试使用代码时,cmd.exe会打开,但不会运行任何命令。为什么会发生这种情况,我该如何解决 Process cmd = new Process(); cmd.StartInfo.FileName = @"cmd.exe"; cmd.StartInfo.Arguments = @"DIR"; cmd.Start(); cmd.WaitForExit(); 尝试传递/K选项,让命令控制台停留

我一直在玩弄C#中的Process类。下面有一些代码我想用来打开cmd.exe并运行DIR命令。但是,当我尝试使用代码时,cmd.exe会打开,但不会运行任何命令。为什么会发生这种情况,我该如何解决

Process cmd = new Process();
cmd.StartInfo.FileName = @"cmd.exe";
cmd.StartInfo.Arguments = @"DIR";
cmd.Start();
cmd.WaitForExit();

尝试传递
/K
选项,让命令控制台停留在video并接收后续的DIR命令(不退出)

processcmd=newprocess();
cmd.StartInfo.FileName=@“cmd.exe”;

cmd.StartInfo.Arguments=@“/K DIR”;// 尝试传递
/K
选项,让命令控制台停留在video并接收后续的DIR命令(不退出)

processcmd=newprocess();
cmd.StartInfo.FileName=@“cmd.exe”;

cmd.StartInfo.Arguments=@“/K DIR”;//
cmd.StartInfo.Arguments=@“/c DIR”

cmd.StartInfo.Arguments=@“/c DIR”

太棒了。还有最后一个问题,我将如何调用DIR然后退出(最终DIR将是一个更复杂的请求)。@AlexeiLevenkov是的,我已经证明了正是出于这个目的。@steventnorris,/C选项,如上所述,/K有助于帮助您了解CMD窗口的情况。当您完全控制您的流程(我认为它不仅仅是一个DIR)时,您可以切换到/C optionerrific。还有最后一个问题,我将如何调用DIR然后退出(最终DIR将是一个更复杂的请求)。@AlexeiLevenkov是的,我已经证明了正是出于这个目的。@steventnorris,/C选项,如上所述,/K有助于帮助您了解CMD窗口的情况。当您完全控制您的流程时(我认为它不仅仅是一个DIR),您可以切换到/C选项May help可能会有所帮助
Process cmd = new Process();
cmd.StartInfo.FileName = @"cmd.exe";
cmd.StartInfo.Arguments = @"/K DIR";  // <-- This will execute the command and wait to close
cmd.Start();
cmd.WaitForExit();