停止命令提示关闭这么快

时间:2013-08-02 17:58:32

标签: c# command-prompt

我正在尝试解决以下功能无效的原因。

 public void RunCmd()
            {
                string strCmdText;
                strCmdText = "/C [enter command stuff here]";
                System.Diagnostics.Process.Start("CMD.exe", strCmdText);
            }

但是每当我尝试运行它或抛出一些断点时,命令会打开,显示错误,然后很快关闭(这么快就让我无法读取任何内容)。

有没有办法可以暂停程序或弄清楚发生了什么?断点似乎不起作用。

当我直接在命令提示符下键入它而不是通过这个c#脚本运行它时,命令工作正常。

7 个答案:

答案 0 :(得分:14)

试试这个:

 strCmdText = "/K [enter command stuff here]";

/ C执行string指定的命令,然后终止

/ K执行string指定的命令,但仍然是

答案 1 :(得分:2)

也许尝试添加pause命令?

答案 2 :(得分:1)

有各种选择。使用/K将阻止窗口关闭。

您还可以编辑命令以在主要呼叫后添加SLEEP。例如,以下内容将在退出前等待2秒:

public void RunCmd()
{
     string strCmdText = "/C \"[enter command stuff here]\" & \"SLEEP 2\"";
            System.Diagnostics.Process.Start("CMD.exe", strCmdText);
}

答案 3 :(得分:0)

Process.Start有两个参数:进程名称和传递给进程的参数。 CMD在理解“[enter”是什么参数时遇到了问题。如果它不是CMD理解的参数,它将立即退出。

答案 4 :(得分:0)

cin.get()

等待用户按下键盘。

答案 5 :(得分:0)

在c下创建临时文件夹,然后将“< c:\ temp \ log.txt”附加到命令末尾。这会将输出写入文件

答案 6 :(得分:0)

除了关于使用/ K vs / C创建一个“徘徊”的shell的提示之外,您可能还想注入一个空的“set”命令来查看设置的环境变量(和路径)。产生壳。在您自己的shell会话中成功运行脚本与在生成的shell中失败的脚本之间的差异很可能是运行它的环境设置。